Function at 0x6d1022c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0xec]
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0x88], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], ebx
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
and edi, 0x7fffffff
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x50]
and edi, 0x7fffffff
or ecx, esi
or ebx, edi
mov dword [esp + 0x60], esi
or ecx, ebx
mov dword [esp + 0x64], edi
je 0x6d102386
cmp dword [esp + 0x6c], 0x7ffeffff
jbe 0x6d102460
mov edi, dword [esp + 0x70]
lea ebx, [esp + 0x90]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x10], edi
call sub.libgcc_s_dw2_1.dll___multf3
mov edx, dword [esp + 0x98]
mov dword [esp], ebx
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
call sub.libgcc_s_dw2_1.dll___divtf3
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0x58]
mov dword [edi + 8], eax
mov eax, edi
mov dword [edi], esi
mov dword [edi + 4], ebp
mov dword [edi + 0xc], edx
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
xor ebx, ebx
mov ecx, esi
neg ecx
sbb ebx, edi
or ebx, edi
xor edi, edi
mov ecx, ebx
xor ebx, ebx
mov esi, ebx
mov ebx, dword [esp + 0x60]
shr ecx, 0x1f
or esi, dword [esp + 0x64]
or ebx, ecx
mov ecx, 0x7fff0000
cmp edi, ebx
sbb ecx, esi
jb 0x6d102386
mov edi, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x88], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], edi
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x4c]
and ebx, 0x80000000
cmp dword [esp + 0x60], ecx
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x6c]
sbb edi, ebx
jge 0x6d102700
mov edx, dword [esp + 0x4c]
xor eax, eax
and edx, 0x7fff0000
or eax, edx
jne 0x6d10275a
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ebx, 0xffffc002
xor ecx, ecx
mov esi, 0xffffffff
shld edx, eax, 0xf
shl eax, 0xf
lea esi, cs:[esi]
lea esi, cs:[esi]
add ebx, 0xffffffff
mov edi, ecx
adc esi, 0xffffffff
add eax, eax
adc edx, edx
cmp ecx, eax
sbb edi, edx
jl 0x6d102520
mov edx, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
and edx, 0x7fff0000
or eax, edx
jne 0x6d102908
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, edx
or eax, ecx
jne 0x6d102c00
mov edi, dword [esp + 0x40]
xor ebx, ebx
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x44]
mov eax, edi
mov edi, dword [esp + 0x40]
mov edx, ebp
cmp ebx, edi
mov edi, ebx
sbb edi, esi
jge 0x6d10311a
mov ebx, 0xffffbfd1
mov esi, 0xffffffff
xor ecx, ecx
lea esi, cs:[esi]
lea esi, [esi]
add ebx, 0xffffffff
mov edi, ecx
adc esi, 0xffffffff
add eax, eax
adc edx, edx
cmp ecx, eax
sbb edi, edx
jl 0x6d1025a0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
cmp eax, 0xffffc002
mov eax, edx
sbb eax, 0xffffffff
jge 0x6d102c40
mov eax, 0xffffc002
mov edx, 0xffffffff
sub eax, dword [esp + 0x80]
mov ebp, 0x3f
sbb edx, dword [esp + 0x84]
xor ebx, ebx
cmp ebp, eax
mov dword [esp + 0x38], eax
mov edi, ebx
mov ecx, eax
sbb edi, edx
jl 0x6d102f31
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
xor edx, edx
shld edi, esi, cl
shl esi, cl
test al, 0x20
mov ecx, 0x40
cmovne edi, esi
cmovne esi, edx
sub ecx, eax
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x6d10263d
mov eax, edx
xor edx, edx
or eax, esi
or edx, edi
movzx ecx, byte [esp + 0x38]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x6c], edx
mov edx, 0xffffffff
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, eax
mov eax, 0xffffc002
sub eax, dword [esp + 0x58]
sbb edx, dword [esp + 0x5c]
cmp ebp, eax
sbb ebx, edx
mov dword [esp + 0x7c], edi
mov edi, eax
mov dword [esp + 0x78], esi
jge 0x6d102c84
mov ecx, edi
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
sub eax, dword [esp + 0x58]
sbb edx, dword [esp + 0x5c]
sub ecx, 0x40
xor ebx, ebx
shld ebp, edi, cl
shl edi, cl
and ecx, 0x20
cmovne ebp, edi
cmovne edi, ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], edi
add eax, 0xffffffff
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x78]
adc edx, 0xffffffff
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x6c]
jmp 0x6d102890
mov edi, dword [esp + 0x60]
cmp ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x64]
sbb edi, ebx
jl 0x6d102433
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
cmp ecx, edi
mov edi, ebx
sbb edi, dword [esp + 0x44]
jb 0x6d102433
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov eax, edi
mov edx, ebp
xor eax, ecx
xor edx, ebx
or eax, edx
je 0x6d1028d6
mov edx, dword [esp + 0x4c]
xor eax, eax
and edx, 0x7fff0000
or eax, edx
je 0x6d102e10
mov ebx, dword [esp + 0x6c]
mov ecx, ebx
sar ebx, 0x1f
sar ecx, 0x10
mov edx, ebx
mov eax, ecx
add eax, 0xffffc001
adc edx, 0xffffffff
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x54]
and edx, 0x7fff0000
or eax, edx
je 0x6d102b30
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x50]
mov edx, ecx
sar ecx, 0x1f
sar edx, 0x10
add edx, 0xffffc001
adc ecx, 0xffffffff
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x70]
and ecx, 0xffff
mov dword [esp + 0x48], eax
or ecx, 0x10000
sub edx, dword [esp + 0x40]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x74]
sbb ecx, dword [esp + 0x44]
and edx, 0xffff
or edx, 0x10000
mov dword [esp + 0x64], ecx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x58]
mov edi, eax
mov edx, dword [esp + 0x84]
sbb edx, dword [esp + 0x5c]
add eax, 0xffffffff
mov ebp, edx
mov dword [esp + 0x40], eax
mov eax, edi
adc edx, 0xffffffff
or eax, ebp
mov dword [esp + 0x44], edx
je 0x6d1029f4
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
jmp 0x6d102890
add ecx, 0xffffffff
adc ebx, 0xffffffff
test ebx, ebx
js 0x6d1029c0
sub esi, dword [esp + 0x38]
sbb edi, dword [esp + 0x3c]
add ecx, ecx
adc ebx, ebx
mov eax, edi
xor edx, edx
shr eax, 0x1f
add eax, ecx
adc edx, ebx
add esi, esi
adc edi, edi
add dword [esp + 0x40], 0xffffffff
mov ecx, dword [esp + 0x40]
adc dword [esp + 0x44], 0xffffffff
mov ebx, dword [esp + 0x44]
mov ebp, ecx
and ebp, ebx
cmp ebp, 0xffffffff
je 0x6d1029d0
mov ebp, dword [esp + 0x38]
mov ecx, eax
mov ebx, edx
sub ecx, dword [esp + 0x48]
sbb ebx, dword [esp + 0x4c]
cmp esi, ebp
mov ebp, edi
sbb ebp, dword [esp + 0x3c]
jb 0x6d102848
test ebx, ebx
js 0x6d1029c0
sub esi, dword [esp + 0x38]
mov eax, ecx
sbb edi, dword [esp + 0x3c]
mov edx, ebx
or eax, esi
or edx, edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x54]
or eax, edx
jne 0x6d10285e
mov eax, dword [esp + 0x8c]
shr eax, 0x1f
shl eax, 4
lea edx, [eax + 0x6d170060]
mov eax, dword [eax + 0x6d170060]
mov ebp, dword [edx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
jmp 0x6d102433
mov edx, dword [esp + 0x64]
mov ecx, 0xffffc002
mov ebx, 0xffffffff
mov eax, edx
sar edx, 0x1f
sar eax, 0x10
add eax, 0xffffc001
adc edx, 0xffffffff
mov dword [esp + 0x58], eax
sub ecx, dword [esp + 0x80]
mov eax, 0x3f
sbb ebx, dword [esp + 0x84]
cmp eax, ecx
mov eax, 0
mov ebp, ecx
sbb eax, ebx
mov dword [esp + 0x5c], edx
jge 0x6d102e77
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
lea ecx, [ecx - 0x40]
xor ebx, ebx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
mov ebx, edx
mov edx, dword [esp + 0x54]
mov ecx, eax
mov eax, dword [esp + 0x50]
and edx, 0xffff
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x80]
or edx, 0x10000
sub eax, dword [esp + 0x58]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x84]
sbb edx, dword [esp + 0x5c]
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x40], eax
xor esi, esi
xor edi, edi
mov dword [esp + 0x44], edx
mov eax, ecx
mov edx, ebx
jmp 0x6d102890
add eax, eax
adc edx, edx
mov ecx, eax
mov ebx, edx
jmp 0x6d102862
mov dword [esp + 0x68], eax
mov eax, esi
sub eax, dword [esp + 0x38]
mov dword [esp + 0x6c], edx
mov edx, edi
sbb edx, dword [esp + 0x3c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
sub eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
sbb edx, dword [esp + 0x4c]
cmp dword [esp + 0x78], ecx
sbb edi, ebx
jae 0x6d102a1e
add eax, 0xffffffff
adc edx, 0xffffffff
test edx, edx
jns 0x6d102a3a
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
or ecx, eax
or ebx, edx
or ecx, ebx
je 0x6d1028d6
cmp edx, 0xffff
jg 0x6d102aad
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
jmp 0x6d102a80
add eax, eax
mov ecx, edi
adc edx, edx
shr ecx, 0x1f
xor ebx, ebx
add eax, ecx
adc edx, ebx
add esi, esi
adc edi, edi
add dword [esp + 0x58], 0xffffffff
adc dword [esp + 0x5c], 0xffffffff
cmp edx, 0xffff
jle 0x6d102a80
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
cmp edi, 0xffffc002
mov esi, ebp
sbb esi, 0xffffffff
jl 0x6d102d40
add edi, 0x3fff
sub edx, 0x10000
xor esi, esi
mov ecx, eax
shl edi, 0x10
mov ebp, dword [esp + 0x64]
mov ebx, edx
or ecx, dword [esp + 0x88]
mov edx, edi
or ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x60]
mov eax, esi
or edx, ebx
or eax, ecx
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa0], edi
mov dword [esp + 0x58], edi
jmp 0x6d102433
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov eax, edi
or eax, ebp
jne 0x6d102c00
mov edi, dword [esp + 0x44]
xor ebp, ebp
mov esi, dword [esp + 0x40]
mov edx, edi
mov edi, dword [esp + 0x40]
mov eax, esi
cmp ebp, edi
mov edi, dword [esp + 0x44]
sbb ebp, edi
jl 0x6d102588
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x58], 0xffffbfd1
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x5c], 0xffffffff
and edx, 0xffff
mov esi, dword [esp + 0x78]
or edx, 0x10000
mov dword [esp + 0x68], eax
mov eax, edi
shrd eax, ebp, 0xf
mov dword [esp + 0x6c], edx
mov edx, ebp
mov ebp, edi
shr edx, 0xf
xor edi, edi
shl ebp, 0x11
add ecx, 0x2f
adc ebx, 0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ebx
jmp 0x6d102890
mov dword [esp + 0x80], 0xffffbfd1
mov dword [esp + 0x84], 0xffffffff
lea esi, cs:[esi]
lea esi, [esi]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, 0xffffc002
xor ecx, ecx
mov esi, 0xffffffff
shld edx, eax, 0xf
shl eax, 0xf
lea esi, cs:[esi]
add ebx, 0xffffffff
mov edi, ecx
adc esi, 0xffffffff
add eax, eax
adc edx, edx
cmp ecx, eax
sbb edi, edx
jl 0x6d102c20
jmp 0x6d1025b2
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, 0xffffc002
mov ebx, 0xffffffff
and edx, 0xffff
mov dword [esp + 0x68], eax
mov eax, 0x3f
or edx, 0x10000
sub ecx, dword [esp + 0x58]
sbb ebx, dword [esp + 0x5c]
cmp eax, ecx
mov eax, 0
mov dword [esp + 0x6c], edx
mov edi, ecx
sbb eax, ebx
jl 0x6d10268c
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, edi
xor ebp, ebp
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0x40
cmovne edx, eax
cmovne eax, ebp
sub ecx, edi
xor ebp, ebp
mov dword [esp + 0x38], eax
mov eax, ebx
mov dword [esp + 0x3c], edx
mov edx, esi
shrd eax, esi, cl
shr edx, cl
test cl, 0x20
cmovne eax, edx
cmovne edx, ebp
mov ecx, edx
mov edx, dword [esp + 0x38]
or ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], ecx
mov ecx, edi
or edx, eax
mov eax, ebx
mov dword [esp + 0x48], edx
mov edx, esi
shl eax, cl
shld edx, ebx, cl
xor ebx, ebx
test cl, 0x20
mov ecx, dword [esp + 0x78]
cmovne edx, eax
cmovne eax, ebx
mov ebx, dword [esp + 0x7c]
sub ecx, eax
mov dword [esp + 0x38], eax
sbb ebx, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ebx
jmp 0x6d102801
mov eax, edi
mov edx, ebp
or eax, ebp
je 0x6d1028d6
xor ebx, ebx
mov eax, edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
cmp ebp, 0xffff
jle 0x6d10307d
lea esi, cs:[esi]
mov edi, 0x30
mov ecx, 0xffffc002
mov ebx, 0xffffffff
sub ecx, dword [esp + 0x58]
sbb ebx, dword [esp + 0x5c]
xor esi, esi
cmp edi, ecx
mov ebp, ecx
mov edi, esi
sbb edi, ebx
jl 0x6d102f8f
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
xor ebx, ebx
shrd esi, edi, cl
shr edi, cl
test cl, 0x20
mov ecx, 0x40
cmovne esi, edi
cmovne edi, ebx
sub ecx, ebp
xor ebx, ebx
mov dword [esp + 0x38], esi
mov esi, eax
mov dword [esp + 0x3c], edi
mov edi, edx
shl esi, cl
shld edi, eax, cl
test cl, 0x20
mov ecx, ebp
cmovne edi, esi
cmovne esi, ebx
shrd eax, edx, cl
or esi, dword [esp + 0x38]
sar edx, cl
or edi, dword [esp + 0x3c]
mov ebp, edx
sar ebp, 0x1f
and ecx, 0x20
cmovne eax, edx
cmovne edx, ebp
or dword [esp + 0x88], eax
or dword [esp + 0x8c], edx
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x58], esi
mov dword [esp + 0xa4], edi
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xa8], edx
mov eax, edx
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 0xa0], esi
jmp 0x6d102433
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, edx
or eax, ecx
jne 0x6d1024f8
mov edi, dword [esp + 0x70]
xor ebx, ebx
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x74]
mov eax, edi
mov edi, dword [esp + 0x70]
mov edx, ebp
cmp ebx, edi
mov edi, ebx
sbb edi, esi
jge 0x6d1030a5
mov ebx, 0xffffbfd1
mov esi, 0xffffffff
xor ecx, ecx
lea esi, cs:[esi]
lea esi, cs:[esi]
add ebx, 0xffffffff
mov edi, ecx
adc esi, 0xffffffff
add eax, eax
adc edx, edx
cmp ecx, eax
sbb edi, edx
jl 0x6d102e60
jmp 0x6d102532
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
xor eax, eax
mov edx, dword [esp + 0x74]
shld edi, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, 0x40
cmovne edi, esi
cmovne esi, eax
mov eax, dword [esp + 0x70]
sub ecx, ebp
xor ebx, ebx
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
mov ecx, ebp
cmovne eax, edx
cmovne edx, ebx
xor ebp, ebp
or eax, esi
or edx, edi
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x68], eax
shld edi, esi, cl
shl esi, cl
and ecx, 0x20
mov dword [esp + 0x6c], edx
cmovne edi, esi
cmovne esi, ebp
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
and edx, 0xffff
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x80]
or edx, 0x10000
sub eax, dword [esp + 0x58]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x84]
sbb edx, dword [esp + 0x5c]
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x6c]
jmp 0x6d102890
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
xor esi, esi
mov edx, dword [esp + 0x74]
sub ecx, 0x40
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], eax
mov eax, 0xffffc002
sub eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov edi, eax
mov dword [esp + 0x6c], edx
mov edx, 0xffffffff
sbb edx, dword [esp + 0x5c]
cmp ebp, eax
sbb ebx, edx
jl 0x6d102fe6
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
jmp 0x6d102c84
mov edi, 0x3f
cmp edi, ecx
sbb esi, ebx
jl 0x6d103086
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
xor ebx, ebx
shrd esi, edi, cl
shr edi, cl
test cl, 0x20
mov ecx, 0x40
cmovne esi, edi
cmovne edi, ebx
sub ecx, ebp
shld edx, eax, cl
mov dword [esp + 0x38], esi
shl eax, cl
xor esi, esi
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov dword [esp + 0x3c], edi
mov esi, eax
mov edi, edx
or esi, dword [esp + 0x38]
or edi, dword [esp + 0x3c]
jmp 0x6d102dcd
mov ecx, edi
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x7c], 0
sub eax, dword [esp + 0x58]
sbb edx, dword [esp + 0x5c]
sub ecx, 0x40
xor esi, esi
shld ebp, edi, cl
shl edi, cl
test cl, 0x20
mov ecx, eax
cmovne ebp, edi
cmovne edi, esi
or ecx, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
jne 0x6d1026c7
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov eax, edi
mov edx, ebp
sub eax, dword [esp + 0x48]
sbb edx, dword [esp + 0x4c]
test edx, edx
js 0x6d102d14
mov ecx, eax
or ecx, edx
je 0x6d1028d6
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
cmp edx, 0xffff
jg 0x6d102d40
xor esi, esi
xor edi, edi
jmp 0x6d102a80
lea ecx, [ecx - 0x40]
shrd eax, edx, cl
sar edx, cl
mov esi, edx
sar esi, 0x1f
and ecx, 0x20
cmovne eax, edx
cmovne edx, esi
mov esi, eax
mov edi, edx
jmp 0x6d102dcd
mov edx, dword [esp + 0x54]
xor eax, eax
and edx, 0x7fff0000
or eax, edx
je 0x6d1031c4
mov dword [esp + 0x80], 0xffffbfd1
mov edx, dword [esp + 0x64]
mov dword [esp + 0x84], 0xffffffff
mov eax, edx
sar edx, 0x1f
sar eax, 0x10
add eax, 0xffffc001
adc edx, 0xffffffff
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x74]
mov edi, eax
mov ebp, edx
shrd edi, edx, 0xf
mov edx, eax
xor eax, eax
shr ebp, 0xf
shl edx, 0x11
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x6d102edc
mov eax, 0xffffc002
mov ecx, 0x3f
mov edx, 0xffffffff
sub eax, dword [esp + 0x80]
sbb edx, dword [esp + 0x84]
cmp ecx, eax
mov ebp, eax
sbb ebx, edx
jl 0x6d10320c
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov ecx, ebp
xor eax, eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x58], 0xffffbfd1
shld edi, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, 0x40
cmovne edi, esi
cmovne esi, eax
mov eax, dword [esp + 0x70]
sub ecx, ebp
xor ebx, ebx
mov dword [esp + 0x5c], 0xffffffff
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
mov ecx, ebp
cmovne eax, edx
cmovne edx, ebx
xor ebp, ebp
or eax, esi
or edx, edi
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x68], eax
shld edi, esi, cl
shl esi, cl
test cl, 0x20
mov dword [esp + 0x6c], edx
cmovne edi, esi
cmovne esi, ebp
mov dword [esp + 0x7c], edi
mov edi, 0x31
mov dword [esp + 0x78], esi
jmp 0x6d102c84
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov eax, edi
or eax, ebp
jne 0x6d102bdb
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x80], 0xffffbfd1
mov dword [esp + 0x84], 0xffffffff
cmp ebx, edi
mov edx, ebp
mov eax, edi
sbb ebx, ebp
mov ebp, 0x31
jl 0x6d102588
jmp 0x6d103143
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
lea ecx, [eax - 0x40]
xor edx, edx
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x58], 0xffffbfd1
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
mov eax, dword [esp + 0x80]
cmovne esi, ebx
cmovne ebx, edx
mov edx, edi
mov ecx, ebp
shrd edx, ebp, 0xf
mov ebp, edi
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x84]
xor edi, edi
shl ebp, 0x11
shr ecx, 0xf
add eax, 0x402e
mov dword [esp + 0x38], edi
adc edx, 0
mov dword [esp + 0x3c], ebp
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x40], eax
mov eax, ebx
mov dword [esp + 0x44], edx
mov edx, esi
mov esi, edi
mov edi, ebp
mov dword [esp + 0x4c], ecx
jmp 0x6d102890