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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78
push esi
push edi
push 0
push 0xb3498c
call fcn.00405970
push 0
push 0xb34990
mov dword [esp + 0x44], eax
call fcn.00405970
push 0
push 0xb371a0
mov dword [esp + 0x48], eax
call fcn.00405970
add esp, 0x18
mov dword [esp + 0x28], eax
test eax, eax
je 0x43a6dc
mov ecx, 0xf4240
mov dword [esp + 0x18], 0xb8ae74
mov dword [esp + 0x14], ecx
xor edi, edi
nop dword [eax]
sub esp, 0xc
mov dword [esp + 0x38], 0x6348
mov esi, esp
push 4
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00406871
mov dword [esi], eax
add esp, 4
mov dword [esi + 4], eax
lea ecx, [eax + 4]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
add eax, 4
mov ecx, 0xb371a0
mov dword [esi + 4], eax
call fcn.0043b300
add esp, 0xc
push 0
push eax
call fcn.00405970
mov esi, eax
add esp, 8
cmp edi, esi
je 0x43a6bd
lea eax, [edi*4 + 0xb37120]
cdq
push edx
push eax
call fcn.00405970
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x43a6bd
lea eax, [esp + 0x60]
mov ecx, edi
push eax
call fcn.0043b220
add esp, 4
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x70]
push eax
movq qword [esp + 0x44], xmm0
movq qword [esp + 0x58], xmm0
call fcn.0043b220
movss xmm0, dword [esp + 0x58]
add esp, 4
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x43a6bd
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x43a6bd
sub esp, 0xc
mov dword [esp + 0x28], 0x71a08
mov ecx, esp
lea eax, [esp + 0x2c]
lea edx, [esp + 0x28]
push ecx
push eax
push edx
call fcn.00405340
mov ecx, 0xb360c4
call fcn.0043b300
add esp, 0xc
mov ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [esp + 0x20], eax
mov esi, edx
push 0
push ecx
call fcn.00405970
add esp, 8
push esi
push dword [esp + 0x24]
cmp eax, 1
jne 0x43a4c3
call fcn.00405970
add esp, 8
test eax, eax
jle 0x43a6bd
mov esi, dword [esp + 0x24]
push 0
lea eax, [esi + 0x6fac]
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb0]
movss dword [esp + 0x28], xmm0
push 0
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb4]
movss dword [esp + 0x48], xmm0
push 0
push eax
call fcn.00405b00
mov esi, dword [esp + 0x40]
push 0
movss dword [esp + 0x58], xmm0
lea eax, [esi + 0x6fac]
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb0]
movss dword [esp + 0x44], xmm0
push 0
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb4]
movss dword [esp + 0x44], xmm0
push 0
push eax
call fcn.00405b00
movss xmm1, dword [esp + 0x4c]
subss xmm1, dword [esp + 0x68]
movss xmm2, dword [esp + 0x54]
subss xmm2, dword [esp + 0x50]
subss xmm0, dword [esp + 0x6c]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x43a3de
sqrtsd xmm0, xmm0
jmp 0x43a3e3
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x78]
add esp, 0x24
mov eax, esp
divss xmm0, dword [0x457864]
cvttss2si esi, xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x462018]
call fcn.0043a940
mov eax, dword [esp + 0x3c]
add esp, 0xc
movss xmm1, dword [esp + 0x4c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x457838]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [esp + 0x34]
movss xmm2, dword [esp + 0x48]
cdq
sub eax, edx
movsd qword [esp + 0x40], xmm0
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
movsd xmm1, qword [0x457838]
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [esp + 0x40]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x43a48a
sqrtsd xmm0, xmm0
jmp 0x43a48f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cmp byte [0x46bd01], 0
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
jne 0x43a68e
cmp esi, dword [esp + 0x14]
jge 0x43a6bd
mov eax, edi
mov dword [esp + 0x14], esi
mov dword [0x45b06c], esi
mov dword [esp + 0x10], eax
jmp 0x43a6c1
call fcn.00405970
add esp, 8
test eax, eax
jle 0x43a6bd
push 0
push 0xb371a0
call fcn.00405970
add eax, 0x6348
push 0
push eax
call fcn.00405970
add esp, 0xc
mov ecx, eax
call fcn.00405c00
mov ecx, edi
mov byte [esp + 0x13], al
call fcn.00405c00
add esp, 4
cmp al, byte [esp + 0xf]
je 0x43a6bd
mov esi, dword [esp + 0x24]
push 0
lea eax, [esi + 0x6fac]
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb0]
movss dword [esp + 0x40], xmm0
push 0
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb4]
movss dword [esp + 0x30], xmm0
push 0
push eax
call fcn.00405b00
mov esi, dword [esp + 0x40]
push 0
movss dword [esp + 0x38], xmm0
lea eax, [esi + 0x6fac]
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb0]
movss dword [esp + 0x5c], xmm0
push 0
push eax
call fcn.00405b00
lea eax, [esi + 0x6fb4]
movss dword [esp + 0x4c], xmm0
push 0
push eax
call fcn.00405b00
movss xmm1, dword [esp + 0x54]
subss xmm1, dword [esp + 0x50]
movss xmm2, dword [esp + 0x6c]
subss xmm2, dword [esp + 0x68]
subss xmm0, dword [esp + 0x4c]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x43a5cc
sqrtsd xmm0, xmm0
jmp 0x43a5d1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x78]
add esp, 0x24
mov eax, esp
divss xmm0, dword [0x457864]
cvttss2si esi, xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x462018]
call fcn.0043a940
mov eax, dword [esp + 0x3c]
add esp, 0xc
movss xmm1, dword [esp + 0x4c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x457838]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [esp + 0x34]
movss xmm2, dword [esp + 0x48]
cdq
sub eax, edx
movsd qword [esp + 0x40], xmm0
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
movsd xmm1, qword [0x457838]
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [esp + 0x40]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x43a678
sqrtsd xmm0, xmm0
jmp 0x43a67d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cmp byte [0x46bd01], 0
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
je 0x43a6a5
cmp eax, dword [esp + 0x14]
jge 0x43a6bd
mov dword [esp + 0x14], eax
mov dword [0x45b06c], eax
mov eax, edi
mov dword [esp + 0x10], eax
jmp 0x43a6c1
cmp esi, dword [esp + 0x14]
jge 0x43a6bd
mov eax, edi
mov dword [esp + 0x14], esi
mov dword [0x45b06c], esi
mov dword [esp + 0x10], eax
jmp 0x43a6c1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc edi
add ecx, 0xb38
mov dword [esp + 0x18], ecx
cmp ecx, 0xba1574
jl 0x43a1e0
pop edi
pop esi
mov esp, ebp
pop ebp
ret