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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
mov esi, eax
mov ebx, edx
sub esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x44]
jge 0x43734c
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp eax, 0x10
mov eax, 0x10
cmovle eax, dword [esp + 0x18]
test ebx, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
jne 0x437210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6ca420
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437224
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ca420
mov dword [esp], ebx
call fcn.00437183
xor ebp, ebp
cmp dword [esp + 0x18], ebp
jle 0x437268
mov eax, dword [esp + 0x1c]
test ebx, ebx
movzx eax, byte [eax + ebp]
jne 0x437252
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6ca426
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437292
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ca426
mov dword [esp], ebx
call fcn.00437183
jmp 0x437292
test ebx, ebx
jne 0x437282
mov dword [esp + 8], 0x6ca42c
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437292
mov dword [esp + 4], 0x6ca42c
mov dword [esp], ebx
call fcn.00437183
inc ebp
cmp ebp, 0x10
jne 0x437226
test ebx, ebx
jne 0x4372b2
mov dword [esp + 8], 0x6ca430
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x4372c2
mov dword [esp + 4], 0x6ca430
mov dword [esp], ebx
call fcn.00437183
xor ebp, ebp
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + ebp]
lea edx, [eax - 0x20]
cmp edx, 0x5e
mov edx, 0x2e
cmova eax, edx
test ebx, ebx
jne 0x4372f8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6ca432
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x43730c
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ca432
mov dword [esp], ebx
call fcn.00437183
inc ebp
cmp dword [esp + 0x18], ebp
jg 0x4372c4
test ebx, ebx
jne 0x43732d
mov dword [esp + 8], 0x6ca435
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x43733d
mov dword [esp + 4], 0x6ca435
mov dword [esp], ebx
call fcn.00437183
add dword [esp + 0x14], 0x10
add dword [esp + 0x1c], 0x10
jmp 0x4371c3
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
push ebp
push edi
mov edi, ecx
push esi
push ebx
mov esi, eax
mov ebx, edx
sub esp, 0x5c
test edx, edx
fild dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
fstp qword [esp + 0x28]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x7c]
mov eax, dword [ebp + 0x20]
fstp qword [esp + 0x30]
jne 0x437409
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6ca437
mov dword [esp], esi
call fcn.00647705
mov eax, dword [ebp + 0x24]
mov dword [esp + 8], 0x6ca444
mov dword [esp + 4], edi
mov dword [esp], esi
and eax, 1
mov dword [esp + 0xc], eax
call fcn.00647705
fild qword [ebp + 0x30]
mov dword [esp + 8], 0x6ca453
mov dword [esp + 4], edi
mov dword [esp], esi
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmulp st(1)
fstp qword [esp + 0xc]
call fcn.00647705
mov dword [esp + 8], 0x6ca465
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437478
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ca437
call fcn.00437183
mov eax, dword [ebp + 0x24]
mov dword [esp + 4], 0x6ca444
mov dword [esp], ebx
and eax, 1
mov dword [esp + 8], eax
call fcn.00437183
fild qword [ebp + 0x30]
mov dword [esp + 4], 0x6ca453
mov dword [esp], ebx
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmulp st(1)
fstp qword [esp + 8]
call fcn.00437183
mov dword [esp + 4], 0x6ca465
mov dword [esp], ebx
call fcn.00437183
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
lea ecx, [edx - 0x80000000]
or ecx, eax
jne 0x4374b7
test ebx, ebx
jne 0x4374a2
mov dword [esp + 8], 0x6ca46c
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437516
mov dword [esp + 4], 0x6ca46c
mov dword [esp], ebx
call fcn.00437183
jmp 0x4375c8
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
test ebx, ebx
fild qword [esp + 0x40]
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fxch st(1)
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmulp st(1)
jne 0x4374fd
fstp qword [esp + 0xc]
mov dword [esp + 8], 0x6ca470
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x437516
fstp qword [esp + 8]
mov dword [esp + 4], 0x6ca470
mov dword [esp], ebx
call fcn.00437183
jmp 0x4375c8
mov dword [esp + 8], 0x6ca476
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
lea ecx, [edx - 0x80000000]
or ecx, eax
jne 0x43756c
test ebx, ebx
jne 0x437557
mov dword [esp + 8], 0x6ca46c
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x4375dd
mov dword [esp + 4], 0x6ca46c
mov dword [esp], ebx
call fcn.00437183
jmp 0x437633
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
test ebx, ebx
fild qword [esp + 0x40]
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fxch st(1)
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmulp st(1)
jne 0x4375b2
fstp qword [esp + 0xc]
mov dword [esp + 8], 0x6ca470
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
jmp 0x4375dd
fstp qword [esp + 8]
mov dword [esp + 4], 0x6ca470
mov dword [esp], ebx
call fcn.00437183
jmp 0x437633
mov dword [esp + 4], 0x6ca476
mov dword [esp], ebx
call fcn.00437183
jmp 0x43752a
mov dword [esp + 8], 0x6ca435
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00647705
mov eax, dword [ebp + 0x1c]
mov dword [esp + 8], 0x6ca47d
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0xc], eax
call fcn.00647705
cmp dword [esp + 0x3c], 0
je 0x43765c
mov eax, dword [ebp + 0x1c]
mov ecx, edi
mov edx, ebx
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x70], eax
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp 0x4371a6
mov dword [esp + 4], 0x6ca435
mov dword [esp], ebx
call fcn.00437183
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], 0x6ca47d
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00437183
jmp 0x43760c
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
push esi
push ebx
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x14]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
pop ebx
pop esi
jmp 0x437354