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

Disassembly:
sub esp, 0x60
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
push edi
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
push esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call fcn.0043395f
pop ecx
or ebp, 0xffffffff
mov dword [esp + 0x1c], edx
mov ebx, edi
mov dword [esp + 0x28], eax
and dword [esp + 0x20], ebx
mov ecx, eax
or ecx, dword [esp + 0x1c]
mov edx, ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], 2
jne 0x437117
and dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov dword [eax + 0x1800], ecx
mov dword [eax + 0x1804], esi
mov esi, dword [esp + 0x74]
cmp dword [esp + 0x20], 0
fld qword [0x46d2e8]
je 0x437174
mov eax, dword [esp + 0x84]
cmp edx, eax
ja 0x437174
jb 0x437156
cmp ebp, ecx
ja 0x437174
sub ecx, ebp
sbb eax, edx
test eax, eax
ja 0x437174
jb 0x437168
cmp ecx, 0x1fffe
ja 0x437174
and dword [esp + 0x74], 0
fstp st(0)
jmp 0x4372db
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
jb 0x43719b
mov ebx, dword [esp + 0x10]
fstp st(0)
add ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x78]
adc edi, dword [esp + 0x18]
shrd ebx, edi, 1
shr edi, 1
jmp 0x4372ad
mov eax, dword [esp + 0x10]
mov ebx, 0x80000000
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
sbb ecx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x40], eax
mov edx, edi
mov eax, ecx
mov dword [esp + 0x48], edi
and ecx, 0x7fffffff
mov dword [esp + 0x58], edi
and eax, 0x80000000
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x38]
fild qword [esp + 0x48]
sbb ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov eax, ecx
and ecx, 0x7fffffff
mov dword [esp + 0x68], edi
and eax, 0x80000000
mov dword [esp + 0x54], ecx
fchs
mov ecx, dword [esp + 0x84]
faddp st(1)
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x38]
mov dword [esp + 0x60], eax
sbb ecx, dword [esp + 0x3c]
fstp qword [esp + 0x2c]
fld qword [esp + 0x2c]
mov eax, ecx
fild qword [esp + 0x50]
and ecx, 0x7fffffff
and eax, ebx
mov dword [esp + 0x64], ecx
mov ecx, edi
mov dword [esp + 0x6c], eax
fild qword [esp + 0x58]
mov dword [esp + 0x74], ecx
fchs
faddp st(1)
fstp qword [esp + 0x2c]
fld qword [esp + 0x2c]
fild qword [esp + 0x60]
fild qword [esp + 0x68]
fchs
faddp st(1)
fstp qword [esp + 0x2c]
fdivr qword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fmulp st(1)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x43729a
fsub st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x43729c
add ecx, edi
mov dword [esp + 0x74], ecx
adc edx, ebx
mov dword [esp + 0x2c], edx
jmp 0x43729c
fstp st(1)
call fcn.0040b296
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x74]
adc edi, dword [esp + 0x2c]
mov eax, dword [esi + 4]
push dword [eax + 0x30]
push edi
push ebx
push esi
call dword [eax + 8]
add esp, 0x10
test eax, eax
jne 0x4373a1
push esi
call fcn.00433872
pop ecx
test eax, eax
je 0x4373a9
mov dword [esp + 0x74], 1
mov eax, dword [esi + 4]
push esi
and dword [eax + 0x180c], 0
call fcn.00433b18
pop ecx
test eax, eax
je 0x4373a1
mov eax, dword [esi]
cmp dword [eax], 7
je 0x4373a1
mov eax, dword [esi + 4]
xor ecx, ecx
cmp dword [eax + 0x180c], ecx
jne 0x437320
cmp dword [esp + 0x74], ecx
je 0x4373a1
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
jmp 0x437384
cmp dword [eax + 0xe30], ecx
je 0x43739c
mov edx, dword [eax + 0xec4]
mov ebp, dword [eax + 0xec0]
mov dword [esp + 0x34], edx
cmp dword [esp + 0x74], ecx
je 0x43738c
cmp edx, dword [esp + 0x84]
ja 0x437370
jb 0x437352
cmp ebp, dword [esp + 0x80]
ja 0x437370
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x14], ebx
jne 0x437366
cmp dword [esp + 0x18], edi
je 0x4373a1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jmp 0x43738c
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x10], ebx
jne 0x437384
cmp dword [esp + 0x78], edi
je 0x4373a1
mov dword [esp + 0x78], edi
mov dword [esp + 0x10], ebx
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
jmp 0x437138
xor eax, eax
inc eax
jmp 0x4373ab
mov eax, dword [esi]
mov dword [eax], 6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret