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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push esi
push edi
push ebx
sub esp, 0x3b4
mov esi, edx
mov dword [esp + 0x18], ecx
mov ebx, eax
mov edx, dword [0x4c1ed0]
mov ecx, dword [0x52cfb4]
xor ecx, esp
mov dword [esp + 0x394], ecx
mov dword [esp + 0x390], edx
mov edx, 0x370
movups xmm0, xmmword [edx + 0x4c1b50]
movups xmm1, xmmword [edx + 0x4c1b40]
movups xmm2, xmmword [edx + 0x4c1b30]
movups xmm3, xmmword [edx + 0x4c1b20]
movups xmm4, xmmword [edx + 0x4c1b10]
movups xmmword [esp + edx + 0x10], xmm0
movups xmmword [esp + edx], xmm1
movups xmmword [esp + edx - 0x10], xmm2
movups xmmword [esp + edx - 0x20], xmm3
movups xmmword [esp + edx - 0x30], xmm4
sub edx, 0x50
jne 0x4396c8
push esi
call fcn.0042c250
mov edi, eax
push 3
push ebx
call fcn.00415e40
push esi
push ebx
call fcn.00415fe0
push ebx
call fcn.00416010
mov edx, 0x140
cmp eax, 0x140
cmovl edx, eax
push edx
push ebx
call fcn.00415fe0
push ebx
call fcn.00416010
mov edx, 8
cmp eax, 8
cmovge edx, eax
push edx
push ebx
call fcn.00415fe0
push ebx
call fcn.00416010
push eax
push ebx
call fcn.00415b60
add esp, 0x38
imul edi, edi, 0x34
cmp dword [esp + edi + 0x2c], 0
jle 0x43977e
push ebx
call fcn.00415e20
or eax, 2
push eax
push ebx
call fcn.00415df0
add esp, 0xc
cmp dword [esp + edi + 0x50], 0
jle 0x439790
push 1
push ebx
call fcn.00416460
add esp, 8
cmp dword [esp + 0x18], 0
je 0x4397e2
push dword [esp + edi + 0x24]
push ebx
call fcn.00415cf0
push dword [esp + edi + 0x30]
push ebx
call fcn.00415d40
add esp, 0x10
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esp + edi + 0x30]
mov dword [esp], ebx
movsd qword [esp + 4], xmm0
call fcn.004169c0
push dword [esp + edi + 0x34]
push ebx
call fcn.004164a0
push dword [esp + edi + 0x40]
push ebx
call fcn.00416500
add esp, 0x10
jmp 0x4398f3
push ebx
call fcn.00415d20
add esp, 4
inc eax
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439811
push dword [esp + edi + 0x24]
push ebx
call fcn.00415cf0
add esp, 8
push ebx
call fcn.00415d70
add esp, 4
inc eax
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439840
push dword [esp + edi + 0x28]
push ebx
call fcn.00415d40
add esp, 8
push ebx
call fcn.004169f0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
subss xmm0, dword [0x4c2518]
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439883
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esp + edi + 0x30]
mov dword [esp], ebx
movsd qword [esp + 4], xmm0
call fcn.004169c0
push ebx
call fcn.004164d0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
subss xmm0, dword [0x4c2518]
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x4398bb
push dword [esp + edi + 0x34]
push ebx
call fcn.004164a0
add esp, 8
push ebx
call fcn.00416530
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
subss xmm0, dword [0x4c2518]
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x4398f3
push dword [esp + edi + 0x38]
push ebx
call fcn.00416500
add esp, 8
push ebx
call fcn.00415740
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
add esp, 4
movss xmm0, dword [esp + edi + 0x3c]
mulss xmm1, xmm0
mov dword [esp], ebx
movss dword [esp + 4], xmm1
call fcn.00415710
cmp dword [esp + 0x18], 0
je 0x4399b1
push dword [esp + edi + 0x40]
push ebx
call fcn.004161d0
add esp, 8
movss xmm0, dword [esp + edi + 0x40]
pxor xmm2, xmm2
pxor xmm1, xmm1
cvtss2sd xmm2, xmm0
comiss xmm0, xmm1
jbe 0x43996d
movsd xmm0, qword [0x4c24f0]
mulsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
mov dword [esp], ebx
movss dword [esp + 4], xmm2
call fcn.00416230
jmp 0x43998b
movsd xmm0, qword [0x4c24f8]
mulsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
mov dword [esp], ebx
movss dword [esp + 4], xmm2
call fcn.00416230
push dword [esp + edi + 0x44]
push ebx
call fcn.00416320
push dword [esp + edi + 0x50]
push ebx
call fcn.004162c0
push dword [esp + edi + 0x5c]
push ebx
call fcn.004163e0
add esp, 0x18
jmp 0x439b20
push ebx
call fcn.00416200
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x4399e1
push dword [esp + edi + 0x40]
push ebx
call fcn.004161d0
add esp, 8
movss xmm0, dword [esp + edi + 0x40]
pxor xmm1, xmm1
comiss xmm0, xmm1
jbe 0x439a39
push ebx
call fcn.00416260
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439a80
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esp + edi + 0x40]
mulsd xmm0, qword [0x4c24f0]
cvtsd2ss xmm0, xmm0
mov dword [esp], ebx
movss dword [esp + 4], xmm0
call fcn.00416230
jmp 0x439a80
push ebx
call fcn.00416260
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
add esp, 4
andps xmm1, xmmword [0x4c24d0]
pxor xmm0, xmm0
comiss xmm1, xmm0
ja 0x439a80
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esp + edi + 0x40]
mulsd xmm0, qword [0x4c24f8]
cvtsd2ss xmm0, xmm0
mov dword [esp], ebx
movss dword [esp + 4], xmm0
call fcn.00416230
push ebx
call fcn.00416350
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439ab0
push dword [esp + edi + 0x44]
push ebx
call fcn.00416320
add esp, 8
push ebx
call fcn.004162f0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
subss xmm0, dword [0x4c2518]
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439ae8
push dword [esp + edi + 0x48]
push ebx
call fcn.004162c0
add esp, 8
push ebx
call fcn.00416430
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 4
subss xmm0, dword [0x4c2518]
andps xmm0, xmmword [0x4c24d0]
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x439b20
push dword [esp + edi + 0x4c]
push ebx
invalid