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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], edi
mov ebx, eax
mov dword [esp + 0x2c], eax
mov eax, edi
mov ecx, ebx
mov edx, ebx
xor ebx, ebx
mov dword [esp + 0x40], eax
shr ecx, 0x10
mov edi, ebx
mov ebx, edx
and ecx, 0x7fff
mov esi, ecx
add esi, 0xffffc001
adc edi, 0xffffffff
and edx, 0xffff
sar ebx, 0x1f
xor eax, eax
or edx, 0x10000
or ebx, 1
mov dword [esp + 0x44], edx
mov edx, 0x2f
cmp edx, esi
mov edx, eax
sbb edx, edi
jl 0x6d12c210
test edi, edi
js 0x6d12c330
mov edx, esi
mov edi, 0x8000
xor esi, esi
mov ecx, edx
shrd esi, edi, cl
sar edi, cl
mov ecx, 0x30
mov eax, edi
sar eax, 0x1f
test dl, 0x20
cmovne esi, edi
cmovne edi, eax
add esi, dword [esp + 0x40]
adc edi, dword [esp + 0x44]
sub ecx, edx
xor eax, eax
shrd esi, edi, cl
shr edi, cl
and ecx, 0x20
cmovne esi, edi
cmovne edi, eax
mov eax, ebx
cdq
imul eax, edi
mov ecx, edx
imul ecx, esi
add ecx, eax
mov eax, ebx
mul esi
add edx, ecx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x3e
cmp edx, esi
sbb eax, edi
jl 0x6d12c2c0
mov eax, dword [esp + 0x24]
lea ecx, [esi - 0x30]
mov edx, 0x80000000
mov dword [esp + 0x30], ebp
mov dword [esp + 0x4c], ecx
xor ebp, ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], esi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
xor eax, eax
shrd eax, edx, cl
shr edx, cl
and ecx, 0x20
cmovne eax, edx
cmovne edx, ebp
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
jb 0x6d12c375
mov ecx, esi
xor ecx, 0x30
or ecx, edi
je 0x6d12c350
mov edi, dword [esp + 0x48]
mov ecx, 0x70
xor esi, esi
sub ecx, edi
mov edi, dword [esp + 0x44]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
movzx ecx, byte [esp + 0x4c]
cmovne eax, edx
cmovne edx, esi
mov esi, dword [esp + 0x40]
xor ebp, ebp
shld edi, esi, cl
shl esi, cl
and ecx, 0x20
cmovne edi, esi
cmovne esi, ebp
or edi, edx
or esi, eax
jmp 0x6d12c1f3
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x10000
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0xc03e0000
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call sub.libgcc_s_dw2_1.dll___letf2
test eax, eax
jle 0x6d12c35d
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call sub.libgcc_s_dw2_1.dll___fixtfdi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
je 0x6d12c33b
xor ebx, ebx
add esp, 0x5c
mov eax, ebx
cdq
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x6d12c1f3
mov dword [esp], 1
call fcn.6d16e9f0
xor eax, eax
mov edx, 0x80000000
jmp 0x6d12c206
mov ecx, esi
add dword [esp + 0x40], 1
adc dword [esp + 0x44], 0
xor ecx, 0x30
or ecx, edi
je 0x6d12c350
mov edi, dword [esp + 0x48]
mov ecx, 0x70
xor esi, esi
sub ecx, edi
mov edi, dword [esp + 0x44]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
movzx ecx, byte [esp + 0x4c]
cmovne eax, edx
cmovne edx, esi
mov esi, dword [esp + 0x40]
xor ebp, ebp
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebp
or edi, edx
or esi, eax
cmp ebx, 1
jne 0x6d12c1f3
mov edx, edi
mov eax, esi
xor edx, 0x80000000
or eax, edx
jne 0x6d12c1f3
mov dword [esp], 1
call fcn.6d16e9f0
jmp 0x6d12c1f3