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

Disassembly:
sub esp, 0x64
mov eax, dword [0x426120]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
fldz
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
fstp qword [esp + 0x20]
fldz
xor eax, eax
fstp dword [esp + 0x14]
mov word [esp + 0x10], ax
fld dword [esp + 0x14]
fadd qword [0x41f350]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
add ecx, ecx
fadd qword [0x41f6f8]
add ecx, ecx
shr eax, 0x1d
add ecx, ecx
fcomp qword [0x41f6f0]
or ecx, eax
fnstsw ax
test ah, 0x44
jnp 0x405770
movzx eax, word [0x423928]
add eax, 0x433d0412
mov word [0x423928], ax
jmp 0x40578a
mov ax, word [0x423520]
mov edi, dword [0x424364]
cwde
lea eax, [edi + eax + 0x7ffb8d73]
mov word [0x423520], ax
mov eax, dword [esi]
fld dword [0x4243e0]
fadd qword [0x41f6e8]
mov ebx, ecx
shr ebx, 0x18
mov byte [esp + 0x28], bl
add eax, eax
mov ebx, ecx
mov byte [esp + 0x2b], cl
add eax, eax
add eax, eax
shr ebx, 0x10
mov byte [esp + 0x29], bl
mov ebx, ecx
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x2c], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x2d], cl
mov ecx, eax
mov byte [esp + 0x2f], al
shr ebx, 8
mov byte [esp + 0x2a], bl
shr ecx, 8
mov byte [esp + 0x2e], cl
fstp dword [esp + 0x14]
or ebx, 0xffffffff
add dword [esp + 0x18], ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
lea edi, [ebx + 0x39]
fmul qword [0x425ff0]
fstp qword [0x425ff0]
mov cx, word [0x423a10]
movsx eax, cx
sub eax, 0x15589703
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [esp + 0x14]
mov eax, dword [esi]
and eax, 0x3f
fstp dword [esp + 0x14]
cmp eax, 0x38
jb 0x405830
mov edi, 0x78
push 0x40
push edx
lea ecx, [esp + 0x38]
push ecx
sub edi, eax
call fcn.0040b530
mov byte [esp + 0x3c], 0x80
mov ecx, 1
add dword [esp + 0x24], ecx
fld qword [0x423920]
fld1
add esp, 0xc
fadd st(1), st(0)
fxch st(1)
fstp qword [0x423920]
fld qword [0x423920]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
mov dx, word [0x423cac]
add word [0x423cac], bx
add dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
faddp st(1)
fild dword [esp + 0x10]
movsx eax, dx
sub eax, 0x2f12f992
mov dword [esp + 0x10], eax
fsubp st(1)
fild dword [esp + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4058e9
mov ecx, dword [0x425f28]
mov dx, word [0x423a14]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
movsx eax, dx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd qword [esp + 0x20]
fsubp st(1)
call fcn.0040b5b0
mov dword [0x425f28], eax
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
jmp 0x405900
mov ecx, dword [0x425234]
fstp st(0)
mov edx, dword [0x423a60]
imul ecx, edx
mov dword [0x423a60], ecx
push edi
lea eax, [esp + 0x34]
push eax
push esi
call fcn.00403d40
push 8
lea ecx, [esp + 0x38]
push ecx
push esi
call fcn.00403d40
fld qword [0x41f6e0]
fld1
lea ecx, [esi + 8]
add esp, 0x18
lea edx, [ebp + 2]
mov esi, 8
add dword [esp + 0x18], ebx
mov ax, word [0x4241b4]
movsx edi, ax
mov eax, 0x1b1c0b15
sub eax, edi
mov edi, dword [esp + 0x18]
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov edi, 0x2209283d
fild dword [esp + 0x10]
sub edi, eax
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fadd qword [0x425f70]
inc word [0x4241b4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x405994
fld dword [esp + 0x14]
mov eax, dword [0x42438c]
add eax, 0x11f87168
mov dword [esp + 0x14], eax
fisub dword [esp + 0x14]
fstp dword [esp + 0x14]
movzx eax, byte [ecx + 3]
mov byte [edx - 2], al
movzx eax, byte [ecx + 2]
mov byte [edx - 1], al
mov ax, word [0x423aa8]
mov edi, dword [0x423530]
cwde
sub eax, edi
mov edi, dword [esp + 0x1c]
add edi, eax
mov word [0x423aa8], di
add dword [esp + 0x1c], ebx
mov eax, dword [ecx]
fld dword [esp + 0x14]
shr eax, 8
fadd st(1)
mov byte [edx], al
fstp dword [esp + 0x14]
fld dword [0x4242c8]
fld dword [esp + 0x14]
fsub st(3)
fcompp
fnstsw ax
fld dword [0x4242c8]
fsub st(1)
fstp dword [0x4242c8]
test ah, 1
jne 0x405a22
fld dword [0x423a40]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esp + 0x14]
fsubp st(1)
fstp dword [0x423a40]
inc dword [esp + 0x1c]
fld dword [esp + 0x14]
fadd st(1)
fstp dword [esp + 0x14]
mov al, byte [ecx]
mov byte [edx + 1], al
add ecx, 4
add edx, 4
sub esi, 1
jne 0x40592f
mov ecx, dword [esp + 0x70]
fstp st(0)
pop edi
fstp st(0)
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040b694
add esp, 0x64
ret