var ticks = lastModified.Ticks;
00000000 push ebp
00000001 mov ebp,esp
00000003 push edi
00000004 push esi
00000005 push ebx
00000006 sub esp,68h
00000009 xor eax,eax
0000000b mov dword ptr [ebp-20h],eax
0000000e mov dword ptr [ebp-54h],ecx
00000011 mov eax,dword ptr [ebp+8]
00000014 mov edx,dword ptr [ebp+0Ch]
00000017 and edx,3FFFFFFFh
0000001d mov dword ptr [ebp-14h],eax
00000020 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);
00000023 mov ecx,eax
00000025 mov ebx,edx
00000027 mov esi,2710h
0000002c cmp edx,1388h
00000032 jb 00000047
00000034 mov edi,eax
00000036 mov eax,edx
00000038 cdq
00000039 idiv eax,esi
0000003b mov eax,edi
0000003d mov edi,4E20h
00000042 idiv eax,edi
00000044 mov eax,edx
00000046 cdq
00000047 idiv eax,esi
00000049 mov eax,edx
0000004b cdq
0000004c sub ecx,eax
0000004e sbb ebx,edx
00000050 mov dword ptr [ebp-1Ch],ecx
00000053 mov dword ptr [ebp-18h],ebx
Log.Debug((ticks == rightTicks).ToString());
00000056 mov eax,dword ptr [ebp-14h]
00000059 mov edx,dword ptr [ebp-10h]
0000005c cmp edx,dword ptr [ebp-18h]
0000005f jne 00000066
00000061 cmp eax,dword ptr [ebp-1Ch]
00000064 je 0000006A
00000066 xor eax,eax
00000068 jmp 0000006F
0000006a mov eax,1
0000006f mov dword ptr [ebp-20h],eax
00000072 lea ecx,[ebp-20h]
00000075 call 4CA06D78
0000007a mov ecx,eax
0000007c mov esi,dword ptr ds:[0346CBE8h]
00000082 call F7D64930
00000087 mov edx,eax
00000089 mov ecx,esi
0000008b call dword ptr ds:[002406F0h]
if (ticks != ticks - (ticks % 10000) && lastModified != DateTime.MaxValue)
00000091 mov ecx,dword ptr [ebp-14h]
00000094 mov ebx,dword ptr [ebp-10h]
00000097 mov esi,dword ptr [ebp-14h]
0000009a mov edi,dword ptr [ebp-10h]
0000009d mov eax,dword ptr [ebp-14h]
000000a0 mov edx,dword ptr [ebp-10h]
000000a3 mov dword ptr [ebp-74h],esi
000000a6 mov esi,2710h
000000ab mov dword ptr [ebp-70h],ecx
000000ae cmp edx,1388h
000000b4 jb 000000C9
000000b6 mov ecx,eax
000000b8 mov eax,edx
000000ba cdq
000000bb idiv eax,esi
000000bd mov eax,ecx
000000bf mov ecx,4E20h
000000c4 idiv eax,ecx
000000c6 mov eax,edx
000000c8 cdq
000000c9 idiv eax,esi
000000cb mov eax,edx
000000cd cdq
000000ce mov ecx,dword ptr [ebp-74h]
000000d1 sub ecx,eax
000000d3 sbb edi,edx
000000d5 mov eax,dword ptr [ebp-70h]
000000d8 cmp ebx,edi
000000da jne 000000E0
000000dc cmp eax,ecx
000000de je 00000139
000000e0 lea ecx,[ebp+8]
000000e3 mov eax,dword ptr [ecx]
000000e5 mov edx,dword ptr [ecx+4]
000000e8 mov dword ptr [ebp-38h],eax
000000eb mov dword ptr [ebp-34h],edx
000000ee mov ecx,dword ptr ds:[0346103Ch]
000000f4 add ecx,4
000000f7 mov eax,dword ptr [ecx]
000000f9 mov edx,dword ptr [ecx+4]
000000fc mov dword ptr [ebp-40h],eax
000000ff mov dword ptr [ebp-3Ch],edx
00000102 mov eax,dword ptr [ebp-38h]
00000105 mov edx,dword ptr [ebp-34h]
00000108 and edx,3FFFFFFFh
0000010e mov dword ptr [ebp-28h],eax
00000111 mov dword ptr [ebp-24h],edx
00000114 mov ecx,dword ptr [ebp-40h]
00000117 mov ebx,dword ptr [ebp-3Ch]
0000011a and ebx,3FFFFFFFh
00000120 cmp edx,ebx
00000122 jne 00000128
00000124 cmp eax,ecx
00000126 je 0000012C
00000128 xor eax,eax
0000012a jmp 00000131
0000012c mov eax,1
00000131 test eax,eax
00000133 je 000001CF
}
if (lastModified.Kind != DateTimeKind.Utc && lastModified != DateTime.MaxValue)
00000139 lea ecx,[ebp+8]
0000013c call 4CAD8400
00000141 cmp eax,1
00000144 je 0000019F
00000146 lea ecx,[ebp+8]
00000149 mov eax,dword ptr [ecx]
0000014b mov edx,dword ptr [ecx+4]
0000014e mov dword ptr [ebp-48h],eax
00000151 mov dword ptr [ebp-44h],edx
00000154 mov ecx,dword ptr ds:[0346103Ch]
0000015a add ecx,4
0000015d mov eax,dword ptr [ecx]
0000015f mov edx,dword ptr [ecx+4]
00000162 mov dword ptr [ebp-50h],eax
00000165 mov dword ptr [ebp-4Ch],edx
00000168 mov eax,dword ptr [ebp-48h]
0000016b mov edx,dword ptr [ebp-44h]
0000016e and edx,3FFFFFFFh
00000174 mov dword ptr [ebp-30h],eax
00000177 mov dword ptr [ebp-2Ch],edx
0000017a mov ecx,dword ptr [ebp-50h]
0000017d mov ebx,dword ptr [ebp-4Ch]
00000180 and ebx,3FFFFFFFh
00000186 cmp edx,ebx
00000188 jne 0000018E
0000018a cmp eax,ecx
0000018c je 00000192
0000018e xor eax,eax
00000190 jmp 00000197
00000192 mov eax,1
00000197 test eax,eax
00000199 je 000002B7
0000019f mov esi,dword ptr ds:[03483FDCh]
000001a5 lea eax,[ebp+8]
000001a8 sub esp,8
000001ab movq xmm0,mmword ptr [eax]
000001af movq mmword ptr [esp],xmm0
000001b4 call dword ptr ds:[0499F5F8h]
000001ba push eax
000001bb mov ecx,esi
000001bd mov edx,dword ptr [ebp-54h]
000001c0 call 4CA76734
000001c5 lea esp,[ebp-0Ch]
000001c8 pop ebx
000001c9 pop esi
000001ca pop edi
000001cb pop ebp
000001cc ret 8
000001cf mov ecx,5532A204h
000001d4 call F79C1FB0
000001d9 mov dword ptr [ebp-58h],eax
000001dc mov ecx,5532A204h
000001e1 call F79C1FB0
000001e6 mov dword ptr [ebp-5Ch],eax
000001e9 mov edx,43A1A8h
000001ee mov ecx,70002584h
000001f3 call 5449E3A9
000001f8 mov dword ptr [ebp-60h],eax
000001fb mov edx,43A1A8h
00000200 mov ecx,700025FEh
00000205 call 5449E3A9
0000020a mov edx,eax
0000020c lea ecx,[ebp+8]
0000020f call 4D017018
00000214 mov dword ptr [ebp-64h],eax
00000217 mov eax,dword ptr [ebp-58h]
0000021a mov ecx,dword ptr [ebp-14h]
0000021d mov edx,dword ptr [ebp-10h]
00000220 mov dword ptr [eax+4],ecx
00000223 mov dword ptr [eax+8],edx
00000226 push eax
00000227 mov ecx,dword ptr [ebp-14h]
0000022a mov ebx,dword ptr [ebp-10h]
0000022d mov eax,dword ptr [ebp-14h]
00000230 mov edx,dword ptr [ebp-10h]
00000233 mov esi,2710h
00000238 cmp edx,1388h
0000023e jb 00000253
00000240 mov edi,eax
00000242 mov eax,edx
00000244 cdq
00000245 idiv eax,esi
00000247 mov eax,edi
00000249 mov edi,4E20h
0000024e idiv eax,edi
00000250 mov eax,edx
00000252 cdq
00000253 idiv eax,esi
00000255 mov eax,edx
00000257 cdq
00000258 sub ecx,eax
0000025a sbb ebx,edx
0000025c mov eax,dword ptr [ebp-5Ch]
0000025f mov dword ptr [eax+4],ecx
00000262 mov dword ptr [eax+8],ebx
00000265 push eax
00000266 mov ecx,dword ptr [ebp-60h]
00000269 mov edx,dword ptr [ebp-64h]
0000026c call 4CA71694
00000271 mov ecx,eax
00000273 call F7D64900
throw new ArgumentException("lastModified specifies too accurate a date", "lastModified");
00000278 mov ecx,55321B68h
0000027d call F79C1FB0
00000282 mov esi,eax
00000284 mov edx,43A1A8h
00000289 mov ecx,7000262Eh
0000028e call 5449E3A9
00000293 mov dword ptr [ebp-68h],eax
00000296 mov edx,43A1A8h
0000029b mov ecx,70002684h
000002a0 call 5449E3A9
000002a5 push eax
000002a6 mov edx,dword ptr [ebp-68h]
000002a9 mov ecx,esi
000002ab call 4D040D00
000002b0 mov ecx,esi
000002b2 call 5449ACEE
{
throw new ArgumentException("lastModified should be in UTC", "lastModified");
000002b7 mov ecx,55321B68h
000002bc call F79C1FB0
000002c1 mov esi,eax
000002c3 mov edx,43A1A8h
000002c8 mov ecx,7000269Eh
000002cd call 5449E3A9
000002d2 mov dword ptr [ebp-6Ch],eax
000002d5 mov edx,43A1A8h
000002da mov ecx,70002684h
000002df call 5449E3A9
000002e4 push eax
000002e5 mov edx,dword ptr [ebp-6Ch]
000002e8 mov ecx,esi
000002ea call 4D040D00
000002ef mov ecx,esi
000002f1 call 5449ACEE
000002f6 int 3