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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov esi, esp
mov eax, dword [0x42f0c0]
xor eax, ebp
mov dword [esi + 0x98], eax
mov ecx, dword [0x42f328]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [0x42f32c]
and eax, 1
cmp ecx, 0xa
jl 0x40536f
test eax, eax
je 0x40536f
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x1c], eax
mov esp, eax
mov eax, dword [ebp + 8]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov ebx, dword [ebp + 0xc]
movss xmm2, dword [ebx + 4]
mulss xmm2, xmm1
movss xmm3, dword [ebx]
mulss xmm3, xmm0
addss xmm3, xmm2
movss dword [esi + 0xc], xmm3
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x3c]
movss xmm0, dword [esi + 0x3c]
movss dword [esi + 8], xmm0
movss xmm0, dword [ebx]
movss xmm1, dword [ebx + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x38]
movss xmm0, dword [esi + 8]
mulss xmm0, dword [esi + 0x38]
mulss xmm0, dword [esi + 0xc]
sub esp, 4
movss dword [esp], xmm0
call fcn.00404830
fstp st(0)
add esp, 4
cmp dword [0x42f330], 0xa
jl 0x405232
mov eax, dword [0x42f334]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x405232
nop word cs:[eax + eax]
jmp 0x405230
mov eax, 0x30277326
mov edx, 0x48492508
mov ecx, 0x48492508
mov dword [esi + 0xc], 0x5a0f51fc
mov dword [edi + 4], ecx
mov ebx, 0x21603821
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xc], ecx
mov dword [edi], eax
mov eax, 0x30174b17
mov dword [esi + 8], edx
lea edx, [esi + 0x70]
xor ecx, ecx
mov dword [edi + 0xc], ebx
mov ecx, dword [esi + 0xc]
mov dword [edi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x74], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x7c], ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x78], eax
movaps xmm0, xmmword [edi]
xorps xmm0, xmmword [edx]
movaps xmmword [edi], xmm0
xor ebx, ebx
push 0
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fstp st(0)
add esp, 8
cmp dword [0x42f338], 0xa
jl 0x4052c2
mov eax, dword [0x42f33c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x4052c2
nop dword [eax + eax]
jmp 0x4052c0
mov eax, 0x4266524
mov ecx, 0x7a701039
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, 0x6f3c64ca
mov ecx, 0x18570119
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x7c], eax
mov eax, 0x3f712f41
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x78], ecx
mov ecx, 0xbf57da26
mov dword [edx + 0x14], ecx
mov dword [esi + 0x84], ecx
mov ecx, 0x62bbcbd6
mov dword [edx + 0x10], eax
mov dword [esi + 0x80], eax
mov eax, 0x7162e957
mov dword [edx + 0x1c], eax
mov dword [esi + 0x8c], eax
mov dword [edx + 0x18], ecx
mov dword [esi + 0x88], ecx
lea eax, [esi + 0x70]
movaps xmm0, xmmword [edx]
movaps xmm1, xmmword [edx + 0x10]
xorps xmm0, xmmword [eax]
movaps xmmword [edx], xmm0
xorps xmm1, xmmword [eax + 0x10]
movaps xmmword [edx + 0x10], xmm1
push 0
push edx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fstp st(0)
add esp, 8
mov edx, dword [0x42f328]
mov ecx, dword [0x42f32c]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x40537c
test eax, eax
jne 0x4055ae
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
push eax
sub esp, 0x1c
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
mov eax, dword [ebp + 8]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [ebp + 0xc]
movss xmm2, dword [eax + 4]
mulss xmm2, xmm1
movss xmm3, dword [eax]
mulss xmm3, xmm0
addss xmm3, xmm2
movss dword [esi + 0xc], xmm3
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x34]
movss xmm0, dword [esi + 0x34]
movss dword [esi + 8], xmm0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x30]
movss xmm0, dword [esi + 8]
mulss xmm0, dword [esi + 0x30]
mulss xmm0, dword [esi + 0xc]
sub esp, 4
movss dword [esp], xmm0
call fcn.00404830
add esp, 4
fstp dword [esi + 0x2c]
movss xmm0, dword [esi + 0x2c]
cmp dword [0x42f330], 0xa
jl 0x405453
mov eax, dword [0x42f334]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4057c0
mov dword [esi + 0x1c], ebx
movaps xmmword [esi + 0x60], xmm0
mov edx, 0x30277326
mov dword [esi + 0xc], 0x48492508
mov ecx, 0x48492508
mov ebx, 0x5a0f51fc
mov dword [edi + 4], ecx
mov eax, 0x21603821
mov dword [esi + 8], ebx
mov dword [edi], edx
mov ebx, 0x30174b17
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xc], ecx
lea edx, [esi + 0x70]
xor ecx, ecx
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x74], ecx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x78], eax
movaps xmm0, xmmword [edi]
xorps xmm0, xmmword [edx]
movaps xmmword [edi], xmm0
xor ebx, ebx
push 0
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
add esp, 8
fstp qword [esi + 0x58]
movsd xmm0, qword [esi + 0x58]
cmp dword [0x42f338], 0xa
jl 0x4054ea
mov eax, dword [0x42f33c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4057e0
movsd qword [esi + 0x40], xmm0
mov eax, 0x4266524
mov ecx, 0x7a701039
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, 0x6f3c64ca
mov ecx, 0x18570119
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x7c], eax
mov eax, 0x3f712f41
mov ecx, dword [esi + 8]
mov dword [esi + 0x78], ecx
mov ecx, 0xbf57da26
mov dword [edx + 0x14], ecx
mov dword [esi + 0x84], ecx
mov ecx, 0x62bbcbd6
mov dword [edx + 0x10], eax
mov dword [esi + 0x80], eax
mov eax, 0x7162e957
mov dword [edx + 0x1c], eax
mov dword [esi + 0x8c], eax
mov dword [edx + 0x18], ecx
mov dword [esi + 0x88], ecx
lea eax, [esi + 0x70]
movaps xmm0, xmmword [edx]
movaps xmm1, xmmword [edx + 0x10]
xorps xmm0, xmmword [eax]
movaps xmmword [edx], xmm0
xorps xmm1, xmmword [eax + 0x10]
movaps xmmword [edx + 0x10], xmm1
push 0
push edx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
add esp, 8
fstp qword [esi + 0x50]
movsd xmm0, qword [esi + 0x50]
cmp dword [0x42f32c], 0xa
jl 0x4057f2
mov eax, dword [0x42f328]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x4057f2
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
push eax
sub esp, 0x1c
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
mov eax, dword [ebp + 8]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [ebp + 0xc]
movss xmm2, dword [eax + 4]
mulss xmm2, xmm1
movss xmm3, dword [eax]
mulss xmm3, xmm0
addss xmm3, xmm2
movss dword [esi + 0xc], xmm3
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x28]
movss xmm0, dword [esi + 0x28]
movss dword [esi + 8], xmm0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.00404450
add esp, 4
fstp dword [esi + 0x24]
movss xmm0, dword [esi + 8]
mulss xmm0, dword [esi + 0x24]
mulss xmm0, dword [esi + 0xc]
sub esp, 4
movss dword [esp], xmm0
call fcn.00404830
fstp st(0)
add esp, 4
cmp dword [0x42f330], 0xa
jl 0x40567f
mov eax, dword [0x42f334]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4057d0
mov dword [esi + 0x20], ebx
mov edx, 0x30277326
mov dword [esi + 0xc], 0x48492508
mov ecx, 0x48492508
mov ebx, 0x5a0f51fc
mov dword [edi + 4], ecx
mov eax, 0x21603821
mov dword [esi + 8], ebx
mov dword [edi], edx
mov edx, 0x30174b17
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x1c], edx
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x18], 0
mov edx, dword [esi + 0x18]
mov dword [edi + 0xc], eax
mov dword [edi + 8], ebx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x74], ebx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x70], edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x78], eax
movaps xmm0, xmmword [edi]
xorps xmm0, xmmword [ecx]
movaps xmmword [edi], xmm0
xor ebx, ebx
push 0
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fstp st(0)
add esp, 8
cmp dword [0x42f338], 0xa
jl 0x405714
mov eax, dword [0x42f33c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4057f0
mov eax, 0x4266524
mov ecx, 0x7a701039
mov edx, dword [esi + 0x20]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, 0x6f3c64ca
mov ecx, 0x18570119
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x7c], eax
mov eax, 0x3f712f41
mov ecx, dword [esi + 8]
mov dword [esi + 0x78], ecx
mov ecx, 0xbf57da26
mov dword [edx + 0x14], ecx
mov dword [esi + 0x84], ecx
mov ecx, 0x62bbcbd6
mov dword [edx + 0x10], eax
mov dword [esi + 0x80], eax
mov eax, 0x7162e957
mov dword [edx + 0x1c], eax
mov dword [esi + 0x8c], eax
mov dword [edx + 0x18], ecx
mov dword [esi + 0x88], ecx
lea eax, [esi + 0x70]
movaps xmm0, xmmword [edx]
movaps xmm1, xmmword [edx + 0x10]
xorps xmm0, xmmword [eax]
movaps xmmword [edx], xmm0
xorps xmm1, xmmword [eax + 0x10]
movaps xmmword [edx + 0x10], xmm1
push 0
push edx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fstp st(0)
add esp, 8
jmp 0x40537c
jmp 0x4057c0
jmp 0x4057d0
jmp 0x4057e0
jmp 0x4057f0
movaps xmm1, xmmword [esi + 0x60]
andps xmm1, xmmword [0x410520]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [esi + 0x40]
mulsd xmm2, xmm1
divsd xmm2, xmm0
movsd qword [esi + 0x48], xmm2
fld qword [esi + 0x48]
fstp xword [esi + 0xc]
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.0040ecdd
fld xword [esi + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret