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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push ebx
push esi
lea esi, [ebp - 0xc8]
lea ebx, [ebp - 0x108]
mov dword [ebp - 4], 0xeb93c0
sub esi, eax
sub ebx, eax
sub dword [ebp - 4], eax
push edi
lea ecx, [eax + 0x3c]
mov dword [ebp - 8], 0x10
fld dword [ecx + 0x40]
mov edi, dword [ebp - 4]
fadd dword [eax]
fstp dword [ebx + eax]
fld dword [ecx]
sub ecx, 4
fsub dword [eax + 0x40]
fmul dword [edi + eax]
fstp dword [esi + eax]
add eax, 4
dec dword [ebp - 8]
jne 0x40899c
lea ecx, [ebp - 0xec]
xor esi, esi
lea eax, [ebp + esi - 0xe8]
fld dword [eax - 0x20]
add esi, 4
fadd dword [ecx + 0x20]
fstp dword [eax + 0x60]
fld dword [ecx]
sub ecx, 4
fsub dword [eax]
fmul dword [esi + 0xeb93fc]
fstp dword [eax + 0x80]
fld dword [eax + 0x20]
fadd dword [ecx + 0x64]
fstp dword [eax + 0xa0]
fld dword [eax + 0x40]
fsub dword [ecx + 0x44]
fmul dword [esi + 0xeb93fc]
fstp dword [eax + 0xc0]
cmp esi, 0x20
jl 0x4089c5
push 2
pop ebx
lea edi, [ebp - 0x7c]
mov esi, 0xeb9420
lea eax, [edi + 4]
mov ecx, edi
fld dword [ecx + 0x10]
fadd dword [eax - 0x10]
fstp dword [eax - 0x90]
fld dword [ecx]
sub ecx, 4
fsub dword [eax]
add eax, 4
fmul dword [esi]
fstp dword [eax - 0x84]
fld dword [ecx + 0x34]
fadd dword [eax + 0xc]
fstp dword [eax - 0x74]
fld dword [eax + 0x1c]
fsub dword [ecx + 0x24]
fmul dword [esi]
add esi, 4
fstp dword [eax - 0x64]
cmp esi, 0xeb9430
jl 0x408a1e
add edi, 0x40
dec ebx
jne 0x408a14
fld dword [0xeb9434]
push 4
fld dword [0xeb9430]
pop ecx
lea eax, [ebp - 0x104]
fld dword [eax - 4]
fadd dword [eax + 8]
fstp dword [eax + 0x7c]
fld dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 0x80]
fld dword [eax]
add eax, 0x20
dec ecx
fsub dword [eax - 0x1c]
fmul st(1)
fstp dword [eax + 0x64]
fld dword [eax - 0x24]
fsub dword [eax - 0x18]
fmul st(2)
fstp dword [eax + 0x68]
fld dword [eax - 8]
fadd dword [eax - 0x14]
fstp dword [eax + 0x6c]
fld dword [eax - 0xc]
fadd dword [eax - 0x10]
fstp dword [eax + 0x70]
fld dword [eax - 0xc]
fsub dword [eax - 0x10]
fmul st(1)
fstp dword [eax + 0x74]
fld dword [eax - 8]
fsub dword [eax - 0x14]
fmul st(2)
fstp dword [eax + 0x78]
jne 0x408a76
fstp st(1)
push 8
fstp st(0)
pop ecx
fld dword [0xeb9438]
lea eax, [ebp - 0x84]
fld dword [eax]
fadd dword [eax - 4]
fstp dword [eax - 0x84]
fld dword [eax - 4]
fsub dword [eax]
add eax, 0x10
dec ecx
fmul st(1)
fstp dword [eax - 0x90]
fld dword [eax - 8]
fadd dword [eax - 0xc]
fstp dword [eax - 0x8c]
fld dword [eax - 8]
fsub dword [eax - 0xc]
fmul st(1)
fstp dword [eax - 0x88]
jne 0x408ae0
push 8
fstp st(0)
pop ecx
lea eax, [ebp - 0x100]
fld dword [eax + 4]
fadd dword [eax]
fstp dword [eax]
add eax, 0x10
dec ecx
jne 0x408b23
push 4
pop ecx
lea eax, [ebp - 0xf0]
fld dword [eax - 8]
fadd dword [eax]
fstp dword [eax - 8]
fld dword [eax]
fadd dword [eax - 4]
fstp dword [eax]
add eax, 0x20
dec ecx
fld dword [eax - 0x1c]
fadd dword [eax - 0x24]
fstp dword [eax - 0x24]
jne 0x408b39
fld dword [ebp - 0xa8]
mov eax, dword [ebp + 8]
fadd dword [ebp - 0x98]
lea edi, [eax + edx*4 + 0x24]
fld dword [ebp - 0xa0]
mov esi, dword [edi]
fadd dword [ebp - 0x98]
lea ebx, [esi - 1]
fld dword [ebp - 0x90]
mov ecx, edx
fadd dword [ebp - 0xa0]
and ebx, 0xf
imul ecx, ecx, 0x220
fld dword [ebp - 0xa4]
fadd dword [ebp - 0x90]
fld dword [ebp - 0x94]
fadd dword [ebp - 0xa4]
fld dword [ebp - 0x9c]
fadd dword [ebp - 0x94]
fld dword [ebp - 0x8c]
fadd dword [ebp - 0x9c]
fstp dword [ebp - 0x9c]
test bl, 1
je 0x408be8
add ecx, esi
imul edx, edx, 0x880
lea ecx, [eax + ecx*4 + 0x9560]
lea eax, [edx + eax + 0x9120]
lea edx, [eax + ebx*4]
jmp 0x408c01
add ecx, ebx
imul edx, edx, 0x880
lea ecx, [eax + ecx*4 + 0x9120]
lea eax, [edx + eax + 0x9560]
lea edx, [eax + esi*4]
fld dword [ebp - 0x108]
mov dword [edi], ebx
fstp dword [ecx + 0x400]
fld dword [ebp - 0x104]
fstp dword [ecx]
fld dword [ebp - 0x104]
fstp dword [edx]
fld dword [ebp - 0x100]
fstp dword [ecx + 0x200]
fld dword [ebp - 0xf8]
fstp dword [ecx + 0x300]
fld dword [ebp - 0xf0]
fstp dword [ecx + 0x100]
fld dword [ebp - 0xd8]
fadd dword [ebp - 0xe8]
fstp dword [ecx + 0x380]
fld dword [ebp - 0xe0]
fadd dword [ebp - 0xd8]
fstp dword [ecx + 0x280]
fld dword [ebp - 0xd0]
fadd dword [ebp - 0xe0]
fstp dword [ecx + 0x180]
fld dword [ebp - 0xe4]
fadd dword [ebp - 0xd0]
fstp dword [ecx + 0x80]
fld dword [ebp - 0xc8]
fadd st(6)
fstp dword [ecx + 0x3c0]
fld dword [ebp - 0xb8]
faddp st(6)
fxch st(5)
fstp dword [ecx + 0x340]
fld dword [ebp - 0xb8]
fadd st(4)
fstp dword [ecx + 0x2c0]
fld dword [ebp - 0xc0]
faddp st(4)
fxch st(3)
fstp dword [ecx + 0x240]
fld dword [ebp - 0xc0]
fadd st(2)
fstp dword [ecx + 0x1c0]
fld dword [ebp - 0xb0]
faddp st(2)
fxch st(1)
fstp dword [ecx + 0x140]
fld dword [ebp - 0xb0]
fadd st(1)
fstp dword [ecx + 0xc0]
fadd dword [ebp - 0xc4]
fstp dword [ecx + 0x40]
fld dword [ebp - 0xfc]
fstp dword [edx + 0x200]
fld dword [ebp - 0xf4]
fstp dword [edx + 0x100]
fld dword [ebp - 0xec]
fstp dword [edx + 0x300]
fld dword [ebp - 0xcc]
fstp dword [edx + 0x380]
fld dword [ebp - 0xd4]
fadd dword [ebp - 0xe4]
fstp dword [edx + 0x80]
fld dword [ebp - 0xdc]
fadd dword [ebp - 0xd4]
fstp dword [edx + 0x180]
fld dword [ebp - 0xdc]
fadd dword [ebp - 0xcc]
fstp dword [edx + 0x280]
fld dword [ebp - 0xc4]
fadd st(1)
fstp dword [edx + 0x40]
fadd dword [ebp - 0xb4]
fstp dword [edx + 0xc0]
fld dword [ebp - 0xb4]
fadd st(1)
fstp dword [edx + 0x140]
fadd dword [ebp - 0xbc]
fstp dword [edx + 0x1c0]
fld dword [ebp - 0xbc]
fadd dword [ebp - 0x9c]
fstp dword [edx + 0x240]
fld dword [ebp - 0xac]
pop edi
fadd dword [ebp - 0x9c]
pop esi
pop ebx
fstp dword [edx + 0x2c0]
fld dword [ebp - 0xac]
fadd dword [ebp - 0x8c]
fstp dword [edx + 0x340]
fld dword [ebp - 0x8c]
fstp dword [edx + 0x3c0]
leave
ret 4