.text:01012200 ; LARGE_INTEGER __stdcall Quad_division_alt(LARGE_INTEGER dividend, LARGE_INTEGER divider)
.text:01012200 Quad_division_alt proc near ; CODE XREF: UpdateStatusBar+AA p
.text:01012200 ; UpdateStatusBar+C4 p ...
.text:01012200
.text:01012200 dividend = LARGE_INTEGER ptr 4
.text:01012200 divider = LARGE_INTEGER ptr 0Ch
.text:01012200
.text:01012200 push edi
.text:01012201 push esi
.text:01012202 push ebx
.text:01012203 xor edi, edi
.text:01012205 mov eax, dword ptr [esp+0Ch+dividend+4]
.text:01012209 or eax, eax
.text:0101220B jge short loc_1012221
.text:0101220D inc edi
.text:0101220E mov edx, dword ptr [esp+0Ch+dividend]
.text:01012212 neg eax
.text:01012214 neg edx
.text:01012216 sbb eax, 0
.text:01012219 mov dword ptr [esp+0Ch+dividend+4], eax
.text:0101221D mov dword ptr [esp+0Ch+dividend], edx
.text:01012221
.text:01012221 loc_1012221: ; CODE XREF: Quad_division_alt+B j
.text:01012221 mov eax, dword ptr [esp+0Ch+divider+4]
.text:01012225 or eax, eax
.text:01012227 jge short loc_101223D
.text:01012229 inc edi
.text:0101222A mov edx, dword ptr [esp+0Ch+divider]
.text:0101222E neg eax
.text:01012230 neg edx
.text:01012232 sbb eax, 0
.text:01012235 mov dword ptr [esp+0Ch+divider+4], eax
.text:01012239 mov dword ptr [esp+0Ch+divider], edx
.text:0101223D
.text:0101223D loc_101223D: ; CODE XREF: Quad_division_alt+27 j
.text:0101223D or eax, eax
.text:0101223F jnz short loc_1012259
.text:01012241 mov ecx, dword ptr [esp+0Ch+divider]
.text:01012245 mov eax, dword ptr [esp+0Ch+dividend+4]
.text:01012249 xor edx, edx
.text:0101224B div ecx
.text:0101224D mov ebx, eax
.text:0101224F mov eax, dword ptr [esp+0Ch+dividend]
.text:01012253 div ecx
.text:01012255 mov edx, ebx
.text:01012257 jmp short loc_101229A
.text:01012259 ; ---------------------------------------------------------------------------
.text:01012259
.text:01012259 loc_1012259: ; CODE XREF: Quad_division_alt+3F j
.text:01012259 mov ebx, eax
.text:0101225B mov ecx, dword ptr [esp+0Ch+divider]
.text:0101225F mov edx, dword ptr [esp+0Ch+dividend+4]
.text:01012263 mov eax, dword ptr [esp+0Ch+dividend]
.text:01012267
.text:01012267 loc_1012267: ; CODE XREF: Quad_division_alt+71 j
.text:01012267 shr ebx, 1
.text:01012269 rcr ecx, 1
.text:0101226B shr edx, 1
.text:0101226D rcr eax, 1
.text:0101226F or ebx, ebx
.text:01012271 jnz short loc_1012267
.text:01012273 div ecx
.text:01012275 mov esi, eax
.text:01012277 mul dword ptr [esp+0Ch+divider+4]
.text:0101227B mov ecx, eax
.text:0101227D mov eax, dword ptr [esp+0Ch+divider]
.text:01012281 mul esi
.text:01012283 add edx, ecx
.text:01012285 jb short loc_1012295
.text:01012287 cmp edx, dword ptr [esp+0Ch+dividend+4]
.text:0101228B ja short loc_1012295
.text:0101228D jb short loc_1012296
.text:0101228F cmp eax, dword pt