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

Disassembly:
push ebp
fld1
push edi
push esi
push ebx
sub esp, 0x64
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x80]
mov ecx, dword [eax + 0x1258]
shr esi, 0x1f
mov edx, dword [eax + edx*4 + 0x970c]
mov ebx, dword [esp + 0x78]
add ebp, esi
xor esi, esi
mov dword [esp + 0x2c], ecx
sar ebp, 1
mov dword [esp + 0x24], edx
test ebp, ebp
jle 0x820994
fstp st(0)
fld dword [0xd2161c]
fld dword [0xd21620]
fld1
mov edi, 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
fld st(2)
fld dword [edx + esi*4]
movzx ecx, byte [eax + 0x62]
xor edx, edx
fld st(4)
fxch st(1)
fadd st(0)
cmp edi, ecx
jmp 0x82095a
fld dword [ebx + edx*4]
fsub st(1)
fmulp st(2)
fld dword [ebx + edx*4 + 4]
fsub st(1)
fmulp st(3)
fld dword [ebx + edx*4 + 8]
fsub st(1)
fmulp st(2)
fld dword [ebx + edx*4 + 0xc]
add edx, 4
fsub st(1)
lea eax, [edx + 1]
fmulp st(3)
cmp eax, ecx
jl 0x820933
fld st(4)
mov ecx, dword [esp + 0x7c]
fsub st(1)
fxch st(1)
fadd st(5)
fxch st(1)
fmul st(3)
fxch st(1)
fmul st(2)
fxch st(3)
fmulp st(1)
fxch st(1)
fmulp st(2)
fld st(2)
fxch st(1)
faddp st(2)
fdivrp st(1)
fmul st(3)
fstp dword [ecx + esi*4]
add esi, dword [esp + 0x84]
cmp esi, ebp
jl 0x820916
fstp st(1)
fstp st(1)
mov ecx, dword [esp + 0x84]
mov edx, ebp
mov eax, ecx
cvtsi2ss xmm0, ecx
lea edi, [ecx - 1]
add eax, eax
movss dword [esp + 8], xmm0
sub edx, eax
fld dword [esp + 8]
cmp edx, ecx
jl 0x820a85
lea eax, [eax + ecx*2]
fld qword [0xd21628]
movss xmm0, dword [0xd2161c]
mov dword [esp + 0x5c], eax
mov eax, ecx
mov dword [esp + 0x60], edx
shr eax, 0x1f
add eax, ecx
sar eax, 1
mov dword [esp + 0x58], eax
sub eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
cvtsi2ss xmm1, dword [esp + 0x58]
shl eax, 2
mov esi, dword [esp + 0x10]
movss dword [esp + 0x50], xmm1
mov dword [esp + 0x4c], eax
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x84]
mov eax, ecx
add esi, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
fld dword [esi + eax*4]
fld dword [esi + ecx*4]
fld dword [esi + edx*4]
fld st(0)
fadd st(3)
fld st(4)
fmul st(3)
fcompi st(1)
fstp st(0)
jb 0x820d71
fcompi st(2)
jb 0x820d78
mov edx, dword [esp + 0x7c]
fld st(4)
lea eax, [edx + ecx*4]
fdiv st(4)
fxch st(1)
sub eax, dword [esp + 0x5c]
fsub st(2)
xor ecx, ecx
add eax, 4
fmulp st(1)
jmp 0x820a71
fadd st(1), st(0)
fxch st(1)
fst dword [eax + ecx*4]
fxch st(1)
add ecx, 1
cmp ecx, edi
jl 0x820a65
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x60], ecx
jge 0x820a08
fstp st(0)
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x84]
mov edx, dword [esp + 0x84]
lea ecx, [eax + ebp*4]
shl esi, 3
mov eax, ebp
sub ecx, esi
add edx, edx
fld st(1)
lea esi, [ecx + 4]
mov ecx, ebp
sub eax, edx
mov ebp, dword [esp + 0x7c]
sub ecx, dword [esp + 0x84]
fdivrp st(1)
fld dword [ebp + eax*4]
fld dword [ebp + ecx*4]
xor eax, eax
fsub st(1)
fmulp st(2)
jmp 0x820ad1
fadd st(1)
fst dword [esi + eax*4]
add eax, 1
cmp eax, edi
jl 0x820ac9
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
shr edx, 0x1f
add ebp, ebp
add edx, dword [esp + 0x80]
sar edx, 1
lea esi, [edi + edx*4]
xor edi, edi
mov dword [esp + 0x48], edx
cmp edi, edx
jge 0x820b97
fld dword [0xd2161c]
fld dword [0xd21620]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
sub edx, edi
fld st(1)
fld st(2)
fld dword [ecx + edx*4 - 4]
movzx ecx, byte [eax + 0x62]
xor edx, edx
fchs
mov eax, 1
fadd st(0)
jmp 0x820b62
fld dword [ebx + edx*4]
fsub st(1)
fmulp st(2)
fld dword [ebx + edx*4 + 4]
fsub st(1)
fmulp st(3)
fld dword [ebx + edx*4 + 8]
fsub st(1)
fmulp st(2)
fld dword [ebx + edx*4 + 0xc]
add edx, 4
fsub st(1)
lea eax, [edx + 1]
fmulp st(3)
cmp eax, ecx
jl 0x820b3d
fld st(3)
fsub st(1)
fxch st(1)
fadd st(4)
fxch st(1)
fmul st(3)
fxch st(1)
fmul st(2)
fxch st(3)
fmulp st(1)
fxch st(1)
fmulp st(2)
fld st(4)
fxch st(1)
faddp st(2)
fdivrp st(1)
fmul st(2)
fstp dword [esi + edi*4]
add edi, ebp
cmp edi, dword [esp + 0x48]
jl 0x820b16
fstp st(0)
fstp st(0)
lea eax, [ebp + ebp]
mov edx, dword [esp + 0x48]
cvtsi2ss xmm2, ebp
sub edx, eax
lea edi, [ebp - 1]
movss dword [esp + 8], xmm2
cmp edx, ebp
mov ecx, ebp
mov dword [esp + 0x20], edi
fld dword [esp + 8]
jl 0x820c70
lea edi, [eax + ebp*2]
mov eax, ebp
fld qword [0xd21628]
sar eax, 1
mov dword [esp + 0x40], edi
movss xmm0, dword [0xd2161c]
mov dword [esp + 0x3c], eax
sub eax, 1
mov dword [esp + 0x44], edx
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x3c]
cvtsi2ss xmm3, dword [esp + 0x3c]
shl edi, 2
mov eax, dword [esp + 0x18]
movss dword [esp + 0x34], xmm3
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], eax
lea edi, [ebp + ecx]
mov eax, ecx
fld dword [esi + ecx*4]
mov dword [esp + 0x28], edi
sub eax, ebp
mov edx, dword [esp + 0x28]
fld dword [esi + eax*4]
fld dword [esi + edx*4]
fld st(0)
fadd st(2)
fld st(4)
fmul st(4)
fcompi st(1)
fstp st(0)
jb 0x820eaa
fcompi st(1)
jb 0x820eb1
lea eax, [esi + ecx*4]
fld st(4)
sub eax, dword [esp + 0x40]
fdiv st(4)
fxch st(2)
fsub st(1)
add eax, 4
xor ecx, ecx
fmulp st(2)
jmp 0x820c5a
fadd st(1)
fst dword [eax + ecx*4]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x820c52
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x44], ecx
jge 0x820c07
fstp st(0)
mov ecx, dword [esp + 0x48]
lea ebx, [ebp*8]
lea edx, [ebp + ebp]
lea eax, [esi + ecx*4]
sub ecx, ebp
mov ebp, dword [esp + 0x48]
sub ebp, edx
fld dword [esi + ecx*4]
fld st(2)
fld dword [esi + ebp*4]
fxch st(1)
sub eax, ebx
fdivrp st(3)
fsub st(1), st(0)
fxch st(1)
lea ebx, [eax + 4]
xor eax, eax
fmulp st(2)
jmp 0x820cad
fadd st(1)
fst dword [ebx + eax*4]
add eax, 1
cmp eax, dword [esp + 0x20]
jl 0x820ca5
fstp st(0)
fstp st(0)
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x7c]
shr ebp, 0x1f
mov ecx, dword [esp + 0x84]
add esi, 1
add ebp, dword [esp + 0x80]
shl ecx, 2
sar ebp, 1
mov edx, ebp
fld dword [edi + ebp*4]
lea eax, [edi + ebp*4]
sub edx, dword [esp + 0x84]
sub eax, ecx
fld dword [edi + edx*4]
fxch st(2)
push esi
lea ecx, [eax + 4]
fidiv dword [esp]
fxch st(1)
fsub st(2)
add esp, 4
fmulp st(1)
xor eax, eax
jmp 0x820d18
fadd st(1), st(0)
fxch st(1)
fst dword [ecx + eax*4]
fxch st(1)
add eax, 1
cmp eax, dword [esp + 0x84]
jl 0x820d0c
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
lea edi, [ebx + esi*4]
shl ebp, 3
add eax, eax
sub edi, ebp
sub esi, eax
lea edx, [edi + 4]
sub eax, 2
mov ecx, dword [ebx + esi*4]
mov dword [esp + 0x80], esi
jmp 0x820d64
mov dword [edx], ecx
sub eax, 1
add edx, 4
cmp eax, 0xffffffff
jne 0x820d5c
add esp, 0x64
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(0)
jmp 0x820a49
fstp st(0)
fstp st(0)
mov esi, ecx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
sub esi, dword [esp + 0x58]
mov dword [esp + 0x54], esi
fld dword [edx + esi*4]
xor edx, edx
movzx esi, byte [eax + 0x62]
movss dword [esp + 8], xmm0
fadd st(0)
fld dword [esp + 8]
cmp esi, 1
fld st(0)
fld st(1)
jle 0x820dd5
fld dword [ebx + edx*4]
fsub st(4)
fmulp st(1)
fld dword [ebx + edx*4 + 4]
fsub st(4)
fmulp st(2)
fld dword [ebx + edx*4 + 8]
fsub st(4)
fmulp st(1)
fld dword [ebx + edx*4 + 0xc]
add edx, 4
lea eax, [edx + 1]
fsub st(4)
cmp eax, esi
fmulp st(2)
jl 0x820dac
fld dword [0xd21620]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x54]
fsub st(4)
fxch st(4)
fadd dword [0xd21620]
fxch st(4)
fmul st(2)
fxch st(4)
fmul st(1)
fmulp st(1)
fxch st(1)
fmulp st(3)
fld st(5)
fxch st(3)
faddp st(1)
fdivp st(2)
fmulp st(1)
fstp dword [edx + eax*4]
lea eax, [edx + ecx*4]
mov edx, ecx
sub eax, dword [esp + 0x5c]
sub edx, dword [esp + 0x84]
fld dword [esp + 0x50]
lea esi, [eax + 4]
mov eax, ecx
mov dword [esp + 4], edx
sub eax, dword [esp + 0x58]
fdivr st(3)
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
fld dword [eax + edx*4]
mov edx, dword [esp]
fld dword [eax + edx*4]
xor eax, eax
fsub st(1)
fmulp st(2)
jmp 0x820e4b
fadd st(1)
fst dword [esi + eax*4]
add eax, 1
cmp eax, dword [esp + 0x10]
jl 0x820e43
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x7c]
fld dword [esp + 0x50]
lea eax, [esi + ecx*4]
fld dword [esi + ecx*4]
fxch st(1)
fdivr st(4)
sub eax, dword [esp + 0x4c]
lea edx, [eax + 4]
mov eax, ecx
sub eax, dword [esp + 0x58]
fld dword [esi + eax*4]
xor eax, eax
fsub st(2), st(0)
fxch st(2)
fmulp st(1)
jmp 0x820e8d
fadd st(1), st(0)
fxch st(1)
fst dword [edx + eax*4]
fxch st(1)
add eax, 1
cmp eax, dword [esp + 0xc]
jl 0x820e81
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x60], ecx
jge 0x820a08
jmp 0x820a83
fstp st(0)
jmp 0x820c3a
fstp st(0)
fstp st(0)
mov edi, ecx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
sub edi, dword [esp + 0x3c]
sub eax, edi
mov dword [esp + 0x38], edi
fld dword [edx + eax*4 - 4]
mov eax, dword [esp + 0x2c]
xor edx, edx
movzx edi, byte [eax + 0x62]
movss dword [esp + 8], xmm0
fchs
fld dword [esp + 8]
fxch st(1)
cmp edi, 1
fadd st(0)
fld st(1)
fld st(2)
jle 0x820f19
fld dword [ebx + edx*4]
fsub st(3)
fmulp st(1)
fld dword [ebx + edx*4 + 4]
fsub st(3)
fmulp st(2)
fld dword [ebx + edx*4 + 8]
fsub st(3)
fmulp st(1)
fld dword [ebx + edx*4 + 0xc]
add edx, 4
lea eax, [edx + 1]
fsub st(3)
cmp eax, edi
fmulp st(2)
jl 0x820ef0
fld dword [0xd21620]
lea edx, [esi + ecx*4]
mov edi, dword [esp + 0x38]
fsub st(3)
fxch st(3)
fadd dword [0xd21620]
fxch st(3)
sub edx, dword [esp + 0x40]
fmul st(2)
fxch st(3)
fmul st(1)
mov eax, ecx
fmulp st(1)
fxch st(1)
fmulp st(2)
fld st(5)
fxch st(2)
faddp st(1)
sub eax, ebp
fdivp st(1)
fmulp st(1)
fstp dword [esi + edi*4]
lea edi, [edx + 4]
mov edx, ecx
sub edx, dword [esp + 0x3c]
fld dword [esi + eax*4]
fld dword [esp + 0x34]
fld dword [esi + edx*4]
fxch st(1)
fdivr st(5)
fxch st(1)
xor eax, eax
fsub st(2)
fmulp st(1)
jmp 0x820f80
fadd st(1), st(0)
fxch st(1)
fst dword [edi + eax*4]
fxch st(1)
add eax, 1
cmp eax, dword [esp + 0x18]
jl 0x820f74
fstp st(0)
fstp st(0)
mov eax, ecx
lea edi, [esi + ecx*4]
fld dword [esi + ecx*4]
sub eax, dword [esp + 0x3c]
fld dword [esp + 0x34]
sub edi, dword [esp + 0x30]
fld dword [esi + eax*4]
fxch st(1)
fdivr st(5)
fxch st(2)
lea edx, [edi + 4]
fsub st(1)
xor eax, eax
fmulp st(2)
jmp 0x820fba
fadd st(1)
fst dword [edx + eax*4]
add eax, 1
cmp eax, dword [esp + 0x14]
jl 0x820fb2
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x44], ecx
jge 0x820c07
jmp 0x820c6e