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

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x40eb27
fld qword [0x449440]
pop ebx
add esp, 8
ret
mov eax, dword [ebx + 4]
cmp eax, 8
jl 0x40eb1c
cmp eax, 0x4000
jg 0x40eb1c
mov dword [0x456698], eax
mov eax, dword [ebx + 8]
cmp eax, 8
jl 0x40eb1c
cmp eax, 0x4000
jg 0x40eb1c
mov dword [0x45668c], eax
movzx eax, word [ebx + 0xe]
mov dword [0x456680], eax
movzx eax, word [ebx + 0xe]
imul eax, dword [ebx + 4]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
push esi
add eax, eax
push edi
add eax, eax
push ebx
mov dword [0x456694], eax
call fcn.0040a4b0
lea ecx, [ebx + eax*4 + 0x28]
push ebx
mov dword [0x457328], ecx
call fcn.0040a4b0
mov esi, eax
movzx eax, word [ebx + 0xe]
add esp, 8
cmp ax, 1
jne 0x40ebab
mov dword [0x45732c], 0
jmp 0x40ecf9
cmp ax, 4
je 0x40ec75
cmp ax, 8
je 0x40ec75
cmp ax, 0x18
je 0x40ebd8
cmp ax, 0x20
je 0x40ebd8
fld qword [0x449440]
pop edi
pop esi
pop ebx
add esp, 8
ret
push 1
push 0x1000000
call fcn.0043452e
fld qword [0x449438]
fld qword [0x449430]
xor edi, edi
fld qword [0x449428]
add esp, 8
fld qword [0x449420]
mov dword [0x45732c], eax
mov dword [esp + 0x18], edi
xor edx, edx
fild dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0xc], esi
fmul st(4)
fild dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x18], ecx
fmul st(4)
fadd st(1)
fild dword [esp + 0x18]
fmul st(4)
fadd st(1)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x40ec40
mov eax, dword [0x45732c]
mov byte [eax + edx], 1
inc ecx
inc edx
cmp ecx, 0x100
mov dword [esp + 0x18], ecx
jl 0x40ec26
inc esi
fstp st(0)
cmp esi, 0x100
mov dword [esp + 0xc], esi
jl 0x40ec18
inc edi
fstp st(0)
cmp edi, 0x100
mov dword [esp + 0x18], edi
jl 0x40ec0c
fstp st(1)
fstp st(0)
jmp 0x40ecf5
push 1
push esi
call fcn.0043452e
add esp, 8
xor ecx, ecx
mov dword [0x45732c], eax
test esi, esi
jle 0x40ecf9
fld qword [0x449438]
lea edx, [ebx + 0x2a]
fld qword [0x449430]
fld qword [0x449428]
fld qword [0x449420]
movzx eax, byte [edx - 1]
mov dword [esp + 0x18], eax
movzx eax, byte [edx]
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [edx - 2]
fmul st(3)
and eax, 0xff
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
fmul st(5)
faddp st(1)
fild dword [esp + 0x18]
fmul st(3)
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x40ece9
mov eax, dword [0x45732c]
mov byte [eax + ecx], 1
inc ecx
add edx, 4
cmp ecx, esi
jl 0x40eca6
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
xor esi, esi
mov dword [esp + 0x18], esi
nop
fild dword [esp + 0x18]
fmul qword [0x449418]
fsub qword [0x449410]
fmul qword [0x4493c8]
fdiv qword [0x4493c0]
fst qword [esp + 0xc]
call fcn.00435190
fstp qword [esi*8 + 0x456ce8]
fld qword [esp + 0xc]
call fcn.004352c0
fstp qword [esi*8 + 0x4566a8]
inc esi
cmp esi, 0xc8
mov dword [esp + 0x18], esi
jl 0x40ed00
mov ecx, dword [ebx + 4]
neg ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
push 4
fstp qword [0x4566a0]
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
add eax, eax
mov dword [0x456684], eax
imul eax, eax, 0xc8
push eax
mov dword [0x456688], eax
call fcn.0043452e
mov dword [0x456690], eax
mov ecx, dword [ebx + 8]
mov eax, ecx
cdq
and edx, 3
add eax, edx
mov esi, eax
lea eax, [ecx + ecx*2]
cdq
and edx, 3
add eax, edx
sar esi, 2
sar eax, 2
add esp, 8
cmp esi, eax
jg 0x40edfb
mov edx, dword [ebx + 4]
mov edi, 1
sub edx, 2
cmp edx, edi
jl 0x40ede7
push esi
push edi
call fcn.0040e940
add esp, 8
test al, al
je 0x40eddc
lea eax, [esi + 1]
push eax
push edi
call fcn.0040e940
add esp, 8
test al, al
jne 0x40eddc
push esi
push edi
call fcn.0040eaa0
add esp, 8
mov ecx, dword [ebx + 4]
inc edi
sub ecx, 2
cmp edi, ecx
jle 0x40edb3
mov eax, dword [ebx + 8]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
inc esi
sar eax, 2
cmp esi, eax
jle 0x40eda4
mov edx, dword [0x456688]
push 0x18
push edx
call fcn.0043452e
mov edx, dword [0x456688]
mov ebx, eax
add esp, 8
xor eax, eax
test edx, edx
jle 0x40ee3c
mov ecx, ebx
lea esp, [esp]
mov edx, dword [0x456690]
mov edx, dword [edx + eax*4]
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov edx, dword [0x456688]
inc eax
add ecx, 0x18
cmp eax, edx
jl 0x40ee20
push 0x40eb00
push 0x18
push edx
push ebx
call fcn.00436980
fld qword [0x449410]
fld qword [0x449418]
add esp, 0x10
lea ecx, [ebx + 4]
mov edi, 2
mov esi, dword [ecx]
mov eax, 0x51eb851f
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x18]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 4]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0xc]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x30]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x1c]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x24]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x48]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x34]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x3c]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x60]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x4c]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x54]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x78]
fild dword [esp + 0xc]
mov eax, 0x51eb851f
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x64]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x6c]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0x90]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x7c]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x84]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0xa8]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0x94]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0x9c]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + 0xc0]
mov eax, 0x51eb851f
fild dword [esp + 0xc]
imul esi
fmul st(1)
fsub st(2)
fstp qword [ecx + 0xac]
fild dword [esp + 0x18]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fadd qword [0x4566a0]
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
fstp qword [ecx + 0xb4]
sub esi, eax
mov dword [esp + 0xc], esi
fild dword [esp + 0xc]
fmul st(1)
fsub st(2)
fstp qword [ecx + 0xc4]
fild dword [esp + 0x18]
fadd qword [0x4566a0]
fstp qword [ecx + 0xcc]
mov esi, dword [ecx + 0xd8]
mov eax, 0x51eb851f
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0xc8
sub esi, eax
mov dword [esp + 0xc], esi
add ecx, 0xf0
sub edi, 1
fild dword [esp + 0xc]
fmul st(1)
fsub st(2)
fstp qword [ecx - 0x14]
fild dword [esp + 0x18]
fadd qword [0x4566a0]
fstp qword [ecx - 0xc]
jne 0x40ee61
fstp st(0)
lea eax, [ebx + 0x20]
fldz
lea ecx, [edi + 2]
fadd qword [eax - 0x18]
add eax, 0xf0
sub ecx, 1
fadd qword [eax - 0xf0]
fadd qword [eax - 0xd8]
fadd qword [eax - 0xc0]
fadd qword [eax - 0xa8]
fadd qword [eax - 0x90]
fadd qword [eax - 0x78]
fadd qword [eax - 0x60]
fadd qword [eax - 0x48]
fadd qword [eax - 0x30]
jne 0x40f0f2
fdivrp st(1)
push ebx
fstp qword [esp + 0x10]
call fcn.0043456e
mov eax, dword [0x456690]
push eax
call fcn.0043456e
mov eax, dword [0x45732c]
add esp, 8
test eax, eax
je 0x40f155
push eax
call fcn.0043456e
add esp, 4
fld qword [esp + 0xc]
pop edi
pop esi
pop ebx
add esp, 8
ret