var ticks = lastModified.Ticks;
00000000 push ebp
00000001 mov ebp,esp
00000003 push edi
00000004 push esi
00000005 push ebx
00000006 sub esp,54h
00000009 mov dword ptr [ebp-48h],ecx
0000000c mov eax,dword ptr [ebp+8]
0000000f mov edx,dword ptr [ebp+0Ch]
00000012 and edx,3FFFFFFFh
00000018 mov dword ptr [ebp-14h],eax
0000001b mov dword ptr [ebp-10h],edx
//DF: Not sure why this is needed but the below comparison randomly fails on some machines without it. NO IDEA WHY?!?
//long rightTicks = ticks - (ticks % 10000);
//Log.Debug((ticks == rightTicks).ToString());
if (ticks != ticks - (ticks % 10000) && lastModified != DateTime.MaxValue)
0000001e mov ecx,eax
00000020 mov ebx,edx
00000022 mov esi,2710h
00000027 cmp edx,1388h
0000002d jb 00000042
0000002f mov edi,eax
00000031 mov eax,edx
00000033 cdq
00000034 idiv eax,esi
00000036 mov eax,edi
00000038 mov edi,4E20h
0000003d idiv eax,edi
0000003f mov eax,edx
00000041 cdq
00000042 idiv eax,esi
00000044 mov eax,edx
00000046 cdq
00000047 sub ecx,eax
00000049 sbb ebx,edx
0000004b cmp edx,ebx
0000004d jne 00000053
0000004f cmp eax,ecx
00000051 je 000000AC
00000053 lea ecx,[ebp+8]
00000056 mov eax,dword ptr [ecx]
00000058 mov edx,dword ptr [ecx+4]
0000005b mov dword ptr [ebp-2Ch],eax
0000005e mov dword ptr [ebp-28h],edx
00000061 mov ecx,dword ptr ds:[0349103Ch]
00000067 add ecx,4
0000006a mov eax,dword ptr [ecx]
0000006c mov edx,dword ptr [ecx+4]
0000006f mov dword ptr [ebp-34h],eax
00000072 mov dword ptr [ebp-30h],edx
00000075 mov eax,dword ptr [ebp-2Ch]
00000078 mov edx,dword ptr [ebp-28h]
0000007b and edx,3FFFFFFFh
00000081 mov dword ptr [ebp-1Ch],eax
00000084 mov dword ptr [ebp-18h],edx
00000087 mov ecx,dword ptr [ebp-34h]
0000008a mov ebx,dword ptr [ebp-30h]
0000008d and ebx,3FFFFFFFh
00000093 cmp edx,ebx
00000095 jne 0000009B
00000097 cmp eax,ecx
00000099 je 0000009F
0000009b xor eax,eax
0000009d jmp 000000A4
0000009f mov eax,1
000000a4 test eax,eax
000000a6 je 00000142
}
if (lastModified.Kind != DateTimeKind.Utc && lastModified != DateTime.MaxValue)
000000ac lea ecx,[ebp+8]
000000af call 54F593A0
000000b4 cmp eax,1
000000b7 je 00000112
000000b9 lea ecx,[ebp+8]
000000bc mov eax,dword ptr [ecx]
000000be mov edx,dword ptr [ecx+4]
000000c1 mov dword ptr [ebp-3Ch],eax
000000c4 mov dword ptr [ebp-38h],edx
000000c7 mov ecx,dword ptr ds:[0349103Ch]
000000cd add ecx,4
000000d0 mov eax,dword ptr [ecx]
000000d2 mov edx,dword ptr [ecx+4]
000000d5 mov dword ptr [ebp-44h],eax
000000d8 mov dword ptr [ebp-40h],edx
000000db mov eax,dword ptr [ebp-3Ch]
000000de mov edx,dword ptr [ebp-38h]
000000e1 and edx,3FFFFFFFh
000000e7 mov dword ptr [ebp-24h],eax
000000ea mov dword ptr [ebp-20h],edx
000000ed mov ecx,dword ptr [ebp-44h]
000000f0 mov ebx,dword ptr [ebp-40h]
000000f3 and ebx,3FFFFFFFh
000000f9 cmp edx,ebx
000000fb jne 00000101
000000fd cmp eax,ecx
000000ff je 00000105
00000101 xor eax,eax
00000103 jmp 0000010A
00000105 mov eax,1
0000010a test eax,eax
0000010c je 0000022A
00000112 mov esi,dword ptr ds:[034B3FC8h]
00000118 lea eax,[ebp+8]
0000011b sub esp,8
0000011e movq xmm0,mmword ptr [eax]
00000122 movq mmword ptr [esp],xmm0
00000127 call dword ptr ds:[0502F5F8h]
0000012d push eax
0000012e mov ecx,esi
00000130 mov edx,dword ptr [ebp-48h]
00000133 call 54EF76D4
00000138 lea esp,[ebp-0Ch]
0000013b pop ebx
0000013c pop esi
0000013d pop edi
0000013e pop ebp
0000013f ret 8
00000142 mov ecx,5532A204h
00000147 call FFF12F50
0000014c mov dword ptr [ebp-4Ch],eax
0000014f mov ecx,5532A204h
00000154 call FFF12F50
00000159 mov dword ptr [ebp-50h],eax
0000015c mov edx,34A1A8h
00000161 mov ecx,70002584h
00000166 call 5C91F349
0000016b mov dword ptr [ebp-54h],eax
0000016e mov edx,34A1A8h
00000173 mov ecx,700025FEh
00000178 call 5C91F349
0000017d mov edx,eax
0000017f lea ecx,[ebp+8]
00000182 call 55497FB8
00000187 mov dword ptr [ebp-58h],eax
0000018a mov eax,dword ptr [ebp-4Ch]
0000018d mov ecx,dword ptr [ebp-14h]
00000190 mov edx,dword ptr [ebp-10h]
00000193 mov dword ptr [eax+4],ecx
00000196 mov dword ptr [eax+8],edx
00000199 push eax
0000019a mov ecx,dword ptr [ebp-14h]
0000019d mov ebx,dword ptr [ebp-10h]
000001a0 mov eax,dword ptr [ebp-14h]
000001a3 mov edx,dword ptr [ebp-10h]
000001a6 mov esi,2710h
000001ab cmp edx,1388h
000001b1 jb 000001C6
000001b3 mov edi,eax
000001b5 mov eax,edx
000001b7 cdq
000001b8 idiv eax,esi
000001ba mov eax,edi
000001bc mov edi,4E20h
000001c1 idiv eax,edi
000001c3 mov eax,edx
000001c5 cdq
000001c6 idiv eax,esi
000001c8 mov eax,edx
000001ca cdq
000001cb sub ecx,eax
000001cd sbb ebx,edx
000001cf mov eax,dword ptr [ebp-50h]
000001d2 mov dword ptr [eax+4],ecx
000001d5 mov dword ptr [eax+8],ebx
000001d8 push eax
000001d9 mov ecx,dword ptr [ebp-54h]
000001dc mov edx,dword ptr [ebp-58h]
000001df call 54EF2634
000001e4 mov ecx,eax
000001e6 call FFFF58A0
throw new ArgumentException("lastModified specifies too accurate a date", "lastModified");
000001eb mov ecx,55321B68h
000001f0 call FFF12F50
000001f5 mov esi,eax
000001f7 mov edx,34A1A8h
000001fc mov ecx,7000262Eh
00000201 call 5C91F349
00000206 mov dword ptr [ebp-5Ch],eax
00000209 mov edx,34A1A8h
0000020e mov ecx,70002684h
00000213 call 5C91F349
00000218 push eax
00000219 mov edx,dword ptr [ebp-5Ch]
0000021c mov ecx,esi
0000021e call 554C1CA0
00000223 mov ecx,esi
00000225 call 5C91BC8E
{
throw new ArgumentException("lastModified should be in UTC", "lastModified");
0000022a mov ecx,55321B68h
0000022f call FFF12F50
00000234 mov esi,eax
00000236 mov edx,34A1A8h
0000023b mov ecx,7000269Eh
00000240 call 5C91F349
00000245 mov dword ptr [ebp-60h],eax
00000248 mov edx,34A1A8h
0000024d mov ecx,70002684h
00000252 call 5C91F349
00000257 push eax
00000258 mov edx,dword ptr [ebp-60h]
0000025b mov ecx,esi
0000025d call 554C1CA0
00000262 mov ecx,esi
00000264 call 5C91BC8E
00000269 int 3