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

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0xa4
fld dword [0x483650]
fcomp dword [ecx]
push ebp
push esi
push edi
fnstsw ax
test ah, 1
jne 0x40b39e
fld dword [0x483644]
fcomp dword [ecx + 0xc]
fnstsw ax
test ah, 0x41
je 0x40b39e
fld dword [0x483654]
fcomp dword [ecx + 4]
fnstsw ax
test ah, 1
jne 0x40b39e
fld dword [0x483648]
fcomp dword [ecx + 0x10]
fnstsw ax
test ah, 0x41
je 0x40b39e
fld dword [0x483658]
fcomp dword [ecx + 8]
fnstsw ax
test ah, 1
jne 0x40b39e
fld dword [0x48364c]
fcomp dword [ecx + 0x14]
fnstsw ax
test ah, 0x41
je 0x40b39e
fld dword [ecx]
fstp dword [esp + 0xc]
fld dword [ecx + 4]
fstp dword [esp + 0x10]
fld dword [ecx + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [ecx + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 4]
fstp dword [esp + 0x10]
fld dword [ecx + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx + 0xc]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 0x10]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [ecx + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [ecx + 0x14]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 4]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
fld dword [ecx + 0x14]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [ecx + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 0x10]
fstp dword [esp + 0x10]
fld dword [ecx + 0x14]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [ecx]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [ecx + 0x10]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [ecx + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], eax
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov esi, 0x46b750
mov dword [esp + 0x18], 4
lea ecx, [esp + 0x80]
mov edx, 4
mov eax, dword [esi]
mov edi, ecx
add esi, 4
add ecx, 0xc
lea eax, [eax + eax*2]
dec edx
lea eax, [esp + eax*4 + 0x20]
mov ebp, dword [eax]
mov dword [edi], ebp
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jne 0x40b281
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
push 6
push 0x48359c
call fcn.0040a900
add esp, 0x14
test eax, eax
je 0x40b392
mov eax, dword [esp + 0x18]
xor edi, edi
fld dword [0x4671bc]
fld dword [0x4671bc]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x40b361
mov edx, dword [esp + 0x1c]
xor ecx, ecx
fld dword [ecx + edx]
fsub dword [0x483530]
lea eax, [ecx + edx]
fstp dword [eax]
fld dword [eax + 4]
fsub dword [0x483534]
fstp dword [eax + 4]
fld dword [eax + 8]
fsub dword [0x483538]
fstp dword [eax + 8]
mov edx, dword [esp + 0x1c]
fxch st(1)
fadd dword [ecx + edx]
fxch st(1)
fld dword [esp + 0x10]
fadd dword [ecx + edx + 4]
fstp dword [esp + 0x10]
fadd dword [ecx + edx + 8]
fld dword [ecx + edx + 4]
fld dword [ecx + edx]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcomp dword [0x483660]
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
jne 0x40b3aa
mov eax, dword [esp + 0x18]
inc edi
add ecx, 0xc
cmp edi, eax
jl 0x40b2f2
fstp st(0)
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
fdiv dword [esp + 0x18]
fld dword [esp + 0x10]
fdiv dword [esp + 0x18]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcomp dword [0x483660]
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
jne 0x40b3ae
cmp esi, 0x46b7b0
jl 0x40b26d
pop edi
pop esi
xor al, al
pop ebp
add esp, 0xa4
ret
fstp st(0)
fstp st(0)
pop edi
pop esi
mov al, 1
pop ebp
add esp, 0xa4
ret