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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, esp
mov eax, dword [0x40f3c0]
xor eax, ebp
mov dword [esi + 0x78], eax
cmp dword [0x40f5e0], 0xa
jl 0x401919
mov eax, dword [0x40f5e4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x401919
jmp 0x401917
movss xmm0, dword [ebp + 8]
push eax
mov ecx, esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push eax
sub esp, 0xc
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
push eax
sub esp, 0xc
mov edx, esp
and edx, 0xfffffff0
mov dword [esi + 0x18], edx
mov esp, edx
mov dword [esi + 8], ecx
movss dword [ecx], xmm0
cmp dword [0x40f5e8], 0xa
jl 0x401967
mov ecx, dword [0x40f5ec]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x401967
jmp 0x401965
mov ecx, 0x3bc2a6fd
mov edx, 0x81c58703
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
mov ecx, 0x67aa1bc6
mov edi, 0xd00513a6
mov dword [esi + 0x1c], ecx
mov ecx, 0x81c58703
mov edx, 0x3bf788cd
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
lea edx, [esi + 0x60]
xor ecx, ecx
mov dword [esi + 0x30], edx
mov dword [esi + 0x14], edi
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov edx, dword [esi + 0x10]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x60], edx
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], ecx
movaps xmm0, xmmword [eax]
mov ecx, dword [esi + 0x30]
xorps xmm0, xmmword [ecx]
movaps xmmword [eax], xmm0
push 0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
add esp, 8
fstp dword [esi + 0x4c]
movss xmm0, dword [esi + 0x4c]
mov eax, dword [esi + 8]
mov edi, dword [eax]
cmp dword [0x40f5f0], 0xa
jl 0x401a07
mov eax, dword [0x40f5f4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x401c81
movss dword [esi + 0x40], xmm0
mov eax, 0xccebdfc
mov ecx, 0xb0f6b137
mov dword [ebx + 4], ecx
mov ecx, 0x67aa2ff1
mov dword [ebx], eax
mov eax, 0xd00513a6
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], ecx
lea eax, [esi + 0x60]
xor ecx, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x68], ecx
movaps xmm0, xmmword [ebx]
xorps xmm0, xmmword [eax]
movaps xmmword [ebx], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
sar edi, 1
sub eax, edi
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edx, 0x3bc2a6fc
mov edi, 0x81c58703
cmp dword [0x40f5f8], 0xa
jl 0x401a90
mov ecx, dword [0x40f5fc]
mov ebx, edx
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
mov edx, ebx
jne 0x401c89
mov dword [esi + 0x3c], eax
lea eax, [esi + 0x60]
xor ecx, ecx
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x34], edx
mov dword [ebx], edx
mov dword [esi + 0x38], edi
mov dword [ebx + 4], edi
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 8], ecx
mov edx, dword [esi + 0x14]
mov dword [ebx + 0xc], edx
mov edi, dword [esi + 0x10]
mov dword [esi + 0x64], edi
mov edi, dword [esi + 0xc]
mov dword [esi + 0x60], edi
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
movaps xmm0, xmmword [ebx]
xorps xmm0, xmmword [eax]
movaps xmmword [ebx], xmm0
push 0
push ebx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
add esp, 8
fstp dword [esi + 0x48]
movss xmm0, dword [esi + 0x48]
movss xmm1, dword [esi + 0x40]
mulss xmm1, dword [ebp + 8]
movss xmm2, dword [esi + 0x3c]
mulss xmm1, xmm2
mulss xmm1, xmm2
subss xmm0, xmm1
mulss xmm0, xmm2
mov eax, dword [esi + 8]
movss dword [eax], xmm0
cmp dword [0x40f5e0], 0xa
jl 0x401c93
mov eax, dword [0x40f5e4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x401c93
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
cmp dword [0x40f5e8], 0xa
jl 0x401b5c
mov ecx, dword [0x40f5ec]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
jne 0x401c83
mov dword [esi + 8], edi
lea ecx, [esi + 0x60]
xor edx, edx
mov edx, dword [esi + 0x2c]
mov dword [eax], edx
mov edx, dword [esi + 0x28]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov ebx, dword [esi + 0x14]
mov dword [eax + 0xc], ebx
mov edi, dword [esi + 0x10]
mov dword [esi + 0x64], edi
mov edi, dword [esi + 0xc]
mov dword [esi + 0x60], edi
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edx
movaps xmm0, xmmword [eax]
xorps xmm0, xmmword [ecx]
movaps xmmword [eax], xmm0
push 0
push eax
mov ebx, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
call ebx
fstp st(0)
add esp, 8
cmp dword [0x40f5f0], 0xa
jl 0x401bc3
mov eax, dword [0x40f5f4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x401c85
cmp dword [0x40f5f8], 0xa
jl 0x401be0
mov eax, dword [0x40f5fc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x401c87
mov eax, dword [esi + 0x34]
mov ebx, dword [esi + 8]
mov dword [ebx], eax
mov eax, dword [esi + 0x38]
mov dword [ebx + 4], eax
lea eax, [esi + 0x60]
xor ecx, ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 8], ecx
mov edi, dword [esi + 0x14]
mov dword [ebx + 0xc], edi
mov edx, dword [esi + 0x10]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x60], edx
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], ecx
movaps xmm0, xmmword [ebx]
xorps xmm0, xmmword [eax]
movaps xmmword [ebx], xmm0
push 0
push ebx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
fstp st(0)
add esp, 8
push eax
mov ecx, esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push eax
sub esp, 0xc
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
push eax
sub esp, 0xc
mov edx, esp
and edx, 0xfffffff0
mov dword [esi + 0x18], edx
mov esp, edx
movss xmm0, dword [ebp + 8]
mov dword [esi + 8], ecx
movss dword [ecx], xmm0
cmp dword [0x40f5e8], 0xa
jl 0x40199f
mov ecx, dword [0x40f5ec]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x40199f
jmp 0x401965
jmp 0x401c81
jmp 0x401c83
jmp 0x401c85
jmp 0x401c87
mov eax, dword [esi + 0x18]
mov dword [eax], edx
mov dword [eax + 4], edi
jmp 0x401c91
movss dword [esi + 0x44], xmm0
fld dword [esi + 0x44]
fstp xword [esi + 0x1c]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.0040a7a1
fld xword [esi + 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret