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