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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
fldz
push ebx
push esi
fld st(0)
mov esi, dword [ebp + 8]
fst qword [esp + 0xc]
mov eax, dword [esi + 0x14]
fxch st(1)
mov ecx, dword [eax + 4]
fst qword [esp + 0x3c]
xor ebx, ebx
fst qword [esp + 0x1c]
cmp ecx, ebx
push edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jle 0x405899
lea ecx, [eax + 0x78]
lea edx, [eax + 8]
add eax, 0x28
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x34]
fstp st(1)
fst qword [esp + 0x48]
xor esi, esi
fstp qword [esp + 0x50]
mov eax, dword [edi]
fld dword [eax + ebx]
fst qword [esp + 0x18]
call fcn.0042e5c0
fstp qword [esp + esi*8 + 0x58]
inc esi
fld qword [esp + 0x18]
add edi, 4
cmp esi, 4
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
jl 0x405631
mov edi, dword [esp + 0x38]
xor esi, esi
mov edi, edi
mov ecx, dword [edi]
fld dword [ecx + ebx]
fst qword [esp + 0x18]
call fcn.0042e5c0
fstp qword [esp + esi*8 + 0x78]
inc esi
fld qword [esp + 0x18]
add edi, 4
cmp esi, 8
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
jl 0x405660
mov edi, dword [esp + 0x3c]
xor esi, esi
jmp 0x405692
fstp st(0)
mov edx, dword [edi]
fld dword [ebx + edx]
fst qword [esp + 0x18]
call fcn.0042e5c0
fstp qword [esp + esi*8 + 0xb8]
inc esi
fld qword [esp + 0x18]
add edi, 4
cmp esi, 4
fadd qword [esp + 0x10]
fst qword [esp + 0x10]
jl 0x405690
mov edx, dword [esp + 0x2c]
cmp edx, 1
jl 0x405882
fld qword [esp + 0x58]
xor eax, eax
fldz
fadd st(1), st(0)
fxch st(1)
fadd qword [esp + 0x60]
fadd qword [esp + 0x68]
fadd qword [esp + 0x70]
fld st(0)
fld qword [0x44a7f0]
fmul st(1), st(0)
fxch st(1)
fstp qword [esp + 0xd8]
jmp 0x4056f8
fxch st(1)
fxch st(1)
add eax, 0x30
cmp eax, 0x60
fsub qword [esp + eax + 0x28]
fadd qword [esp + eax + 0x48]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xb0]
fsub qword [esp + eax + 0x30]
fadd qword [esp + eax + 0x50]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xb8]
fsub qword [esp + eax + 0x38]
fadd qword [esp + eax + 0x58]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xc0]
fsub qword [esp + eax + 0x40]
fadd qword [esp + eax + 0x60]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xc8]
fsub qword [esp + eax + 0x48]
fadd qword [esp + eax + 0x68]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xd0]
fsub qword [esp + eax + 0x50]
fadd qword [esp + eax + 0x70]
fld st(0)
fmul st(2)
fstp qword [esp + eax + 0xd8]
jl 0x4056f6
fstp st(1)
xor ecx, ecx
fstp st(0)
fld qword [esp + 0x48]
fld qword [esp + 0x50]
fld qword [esp + ecx + 0xd8]
fcom qword [esp + ecx + 0xe0]
fnstsw ax
test ah, 5
jnp 0x4057a0
fstp st(0)
fld qword [esp + ecx + 0xe0]
fcom qword [esp + ecx + 0xe8]
fnstsw ax
test ah, 5
jnp 0x4057b7
fstp st(0)
fld qword [esp + ecx + 0xe8]
fcom qword [esp + ecx + 0xf0]
fnstsw ax
test ah, 5
jnp 0x4057ce
fstp st(0)
fld qword [esp + ecx + 0xf0]
fcom qword [esp + ecx + 0xf8]
fnstsw ax
test ah, 5
jnp 0x4057e5
fstp st(0)
fld qword [esp + ecx + 0xf8]
fld qword [esp + ecx + 0x68]
fcom qword [esp + ecx + 0x70]
fnstsw ax
test ah, 0x41
je 0x4057fa
fstp st(0)
fld qword [esp + ecx + 0x70]
fcom qword [esp + ecx + 0x78]
fnstsw ax
test ah, 0x41
je 0x40580b
fstp st(0)
fld qword [esp + ecx + 0x78]
fcom qword [esp + ecx + 0x80]
fnstsw ax
test ah, 0x41
je 0x405822
fstp st(0)
fld qword [esp + ecx + 0x80]
fld st(4)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x40585e
fld st(4)
fucomp st(2)
fnstsw ax
test ah, 0x44
jnp 0x40585e
fsub st(1)
fld st(0)
fdivrp st(2)
fmul st(0), st(0)
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x40584f
fstp st(3)
jmp 0x405851
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x405860
fstp st(1)
jmp 0x405862
fstp st(0)
fstp st(0)
add ecx, 8
cmp ecx, 0x40
jl 0x405782
fxch st(1)
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
jmp 0x405884
fldz
inc edx
add ebx, 4
cmp edx, dword [esp + 0x30]
mov dword [esp + 0x2c], edx
jl 0x405621
mov esi, dword [ebp + 8]
fstp st(0)
call fcn.0042e5c0
fst qword [esp + 0x10]
fild dword [esp + 0x30]
fdivr qword [esp + 0x20]
fstp qword [esp + 0x20]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4058ce
fstp st(0)
fld qword [esp + 0x40]
call fcn.0042e5c0
fdiv qword [esp + 0x10]
fld1
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x4058f7
fcomp qword [0x44a7e8]
fnstsw ax
test ah, 0x41
jne 0x4058f9
mov eax, 2
mov dword [esi + 0x10], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
xor eax, eax
pop edi
mov dword [esi + 0x10], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret