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

Disassembly:
mov eax, dword [0x8632ec]
fldz
sub esp, 0x90
test al, 1
push ebx
push ebp
push esi
push edi
mov edi, ecx
jne 0x6f7a61
fst dword [0x8632e0]
or eax, 1
fst dword [0x8632e4]
mov dword [0x8632ec], eax
fst dword [0x8632e8]
test al, 2
jne 0x6f7a81
fst dword [0x8632d4]
or eax, 2
fst dword [0x8632d8]
mov dword [0x8632ec], eax
fstp dword [0x8632dc]
jmp 0x6f7a83
fstp st(0)
mov esi, dword [esp + 0xa4]
fld dword [esi + 0x1c]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x44]
push eax
push ecx
mov ecx, dword [esi + 0xc]
fstp dword [esp]
imul ecx, ecx, 0x54
lea ecx, [ecx + edi + 0xb4]
mov dword [esp + 0x4c], 0
call fcn.006f9c60
mov ebx, dword [esp + 0xa8]
push ebx
mov edx, esi
lea ecx, [esp + 0x44]
call fcn.006d3dc0
test dword [edi + 0x194], 0x400
je 0x6f7bf9
fld dword [esi + 0x10]
push ebx
fstp dword [esp + 0x20]
lea edx, [esp + 0x20]
fld dword [esi + 0x14]
lea ecx, [esp + 0x64]
fstp dword [esp + 0x24]
fldz
fst dword [esp + 0x28]
fstp dword [esp + 0x2c]
call fcn.006d3e80
fld dword [eax]
fstp dword [esp + 0x2c]
push ebx
fld dword [eax + 4]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [eax + 8]
mov eax, dword [esp + 0x34]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [0x8632e0], edx
mov dword [0x8632e8], ecx
mov dword [0x8632e4], eax
fld dword [esi + 0x14]
fstp dword [esp + 0x20]
lea edx, [esp + 0x20]
fld dword [esi + 0x10]
lea ecx, [esp + 0x64]
fchs
fstp dword [esp + 0x24]
fldz
fst dword [esp + 0x28]
fstp dword [esp + 0x2c]
call fcn.006d3e80
fld dword [eax]
fstp dword [esp + 0x2c]
fld dword [eax + 4]
mov edx, dword [esp + 0x2c]
fstp dword [esp + 0x30]
fld dword [eax + 8]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x30]
fld dword [0x8632e4]
mov ecx, dword [esp + 0x34]
fld dword [0x8632e0]
mov dword [0x8632d8], eax
fld dword [0x8632e8]
mov dword [0x8632d4], edx
fld st(1)
mov dword [0x8632dc], ecx
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fldz
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fabs
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x79e624]
fnstsw ax
test ah, 5
jnp 0x6f7bf9
mov ecx, 0x8632e0
call fcn.0047b500
mov ecx, 0x8632d4
call fcn.0047b500
test byte [edi + 0x194], 4
je 0x6f7fbf
mov edx, dword [edi + 0x188]
mov eax, dword [esp + 0x90]
sub edx, 1
and edx, eax
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x6f7c2a
fadd dword [0x799d08]
mov ecx, dword [edi + 0xc]
fmul dword [edi + 0x10]
sar eax, cl
cmp dword [edi + 0x168], 0
fstp dword [esp + 0x54]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [edi + 0x14]
fstp dword [esp + 0x18]
jne 0x6f7e51
mov ebp, dword [esp + 0xac]
fld dword [esp + 0x54]
fld dword [esp + 0x18]
lea ebx, [ebp + ebp*8]
add ebx, ebx
add ebx, ebx
mov dword [esp + 0x4c], ebx
lea edx, [edi + 0x1c]
xor ecx, ecx
mov eax, dword [edi + 0xa0]
add eax, ebx
test dword [edi + 0x194], 0x400
jne 0x6f7ccc
fld dword [ecx + 0x84c928]
fld dword [esp + 0x50]
fld st(0)
fmulp st(2)
fld dword [esp + 0x40]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
fmul dword [ecx + 0x84c92c]
fadd dword [esp + 0x44]
fstp dword [esp + 0x30]
fld dword [esp + 0x48]
mov dword [eax], ebx
mov ebx, dword [esp + 0x30]
fstp dword [esp + 0x34]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x34]
jmp 0x6f7deb
fld dword [ecx + 0x84c928]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fmul dword [0x8632d4]
fstp dword [esp + 0x54]
fld st(0)
fmul dword [0x8632d8]
fstp dword [esp + 0x58]
fmul dword [0x8632dc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fld dword [esp + 0x50]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fld dword [esp + 0x58]
fmul st(1)
fstp dword [esp + 0x64]
fld dword [esp + 0x5c]
fmul st(1)
fstp dword [esp + 0x68]
fld dword [ecx + 0x84c92c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fmul dword [0x8632e0]
fstp dword [esp + 0x84]
fld st(0)
fmul dword [0x8632e4]
fstp dword [esp + 0x88]
fmul dword [0x8632e8]
fstp dword [esp + 0x8c]
fld dword [esp + 0x84]
fmul st(1)
fstp dword [esp + 0x94]
fld dword [esp + 0x88]
fmul st(1)
fstp dword [esp + 0x98]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x9c]
fld dword [esp + 0x94]
fadd dword [esp + 0x40]
fstp dword [esp + 0x70]
fld dword [esp + 0x98]
fadd dword [esp + 0x44]
fstp dword [esp + 0x74]
fld dword [esp + 0x9c]
fadd dword [esp + 0x48]
fstp dword [esp + 0x78]
fld dword [esp + 0x70]
fadd dword [esp + 0x60]
fstp dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
fld dword [esp + 0x74]
mov dword [eax], ebx
fadd dword [esp + 0x64]
fstp dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
fld dword [esp + 0x78]
mov dword [eax + 4], ebx
fadd dword [esp + 0x68]
fstp dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
mov dword [eax + 8], ebx
mov ebx, dword [0x84c820]
mov dword [eax + 0xc], ebx
mov ebx, dword [0x84c824]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x84c828]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x18], ebx
fld dword [edx - 4]
fadd st(2)
add ecx, 8
add edx, 8
fstp dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
fld dword [edx - 8]
mov dword [eax + 0x1c], ebx
fadd st(1)
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp + 0x4c]
add ebx, 0x24
cmp ecx, 0x20
mov dword [esp + 0x4c], ebx
jne 0x6f7c72
fstp st(1)
jmp 0x6f7f61
fld dword [edi + 0x168]
fmul dword [esi + 0x1c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
call sub.MSVCR80.dll__CIsin
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp + 0x10]
fld dword [esp + 0x4c]
call sub.MSVCR80.dll__CIcos
fstp dword [esp + 0x3c]
mov ebp, dword [esp + 0xac]
fld dword [esp + 0x3c]
fstp dword [esp + 0x3c]
lea ebx, [ebp + ebp*8]
fld dword [esp + 0x54]
add ebx, ebx
fld dword [esp + 0x10]
add ebx, ebx
fld dword [esp + 0x3c]
lea edx, [edi + 0x1c]
xor ecx, ecx
fld dword [ecx + 0x84c928]
mov eax, dword [edi + 0xa0]
fld dword [esp + 0x50]
add eax, ebx
fld st(0)
add ecx, 8
fmulp st(2)
add ebx, 0x24
fxch st(1)
add edx, 8
cmp ecx, 0x20
fstp dword [esp + 0x1c]
fmul dword [ecx + 0x84c924]
fstp dword [esp + 0x20]
fld dword [esp + 0x1c]
fld st(0)
fmul st(2)
fld dword [esp + 0x20]
fld st(0)
fmul st(5)
fsubp st(2)
fld dword [esp + 0x40]
faddp st(2)
fxch st(1)
fstp dword [eax]
fmul st(2)
fld st(3)
fmulp st(2)
faddp st(1)
fadd dword [esp + 0x44]
fstp dword [eax + 4]
fld dword [esp + 0x48]
fstp dword [eax + 8]
mov esi, dword [0x84c820]
mov dword [eax + 0xc], esi
mov esi, dword [0x84c824]
mov dword [eax + 0x10], esi
mov esi, dword [0x84c828]
mov dword [eax + 0x14], esi
mov esi, dword [esp + 0x38]
mov dword [eax + 0x18], esi
fld dword [edx - 0xc]
fadd st(3)
fstp dword [esp + 0x10]
mov esi, dword [esp + 0x10]
fld dword [edx - 8]
mov dword [eax + 0x1c], esi
fadd dword [esp + 0x18]
fstp dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov dword [eax + 0x20], esi
jne 0x6f7ea8
mov esi, dword [esp + 0xa4]
fstp st(1)
fstp st(0)
mov ebx, dword [esp + 0xb0]
fstp st(0)
mov eax, dword [edi + 0xa4]
mov word [eax + ebx*2], bp
mov ecx, dword [edi + 0xa4]
lea eax, [ebp + 1]
mov word [ecx + ebx*2 + 2], ax
mov edx, dword [edi + 0xa4]
lea ecx, [ebp + 2]
mov word [edx + ebx*2 + 4], cx
mov edx, dword [edi + 0xa4]
lea ecx, [ebp + 3]
mov word [edx + ebx*2 + 6], cx
mov edx, dword [edi + 0xa4]
lea ecx, [ebp + 2]
mov word [edx + ebx*2 + 8], cx
mov ecx, dword [edi + 0xa4]
mov word [ecx + ebx*2 + 0xa], ax
add ebp, 4
add ebx, 6
jmp 0x6f7fcd
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
test byte [edi + 0x194], 8
je 0x6f8340
mov edx, dword [edi + 0x188]
mov eax, dword [esp + 0x80]
sub edx, 1
and edx, eax
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x6f7ffe
fadd dword [0x799d08]
fmul dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sar eax, cl
lea edx, [esp + 0x70]
fstp dword [esp + 0x3c]
lea ecx, [esp + 0x60]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, dword [esp + 0xa8]
push eax
fmul dword [edi + 0x14]
fstp dword [esp + 0x1c]
fld dword [esi + 0x10]
fchs
fstp dword [esp + 0x74]
fld dword [esi + 0x14]
fchs
fstp dword [esp + 0x78]
fld dword [esi + 0x18]
fchs
fstp dword [esp + 0x7c]
fldz
fstp dword [esp + 0x80]
fld dword [edi + 0xb0]
fstp dword [esp + 0x14]
call fcn.006d3e80
fld dword [eax]
fld dword [esp + 0x10]
mov edx, dword [edi + 0xa0]
fld st(0)
sub esp, 8
fmulp st(2)
lea ecx, [ebp + ebp*8]
fxch st(1)
lea esi, [edx + ecx*4]
fstp dword [esp + 0x24]
fld dword [eax + 4]
fmul st(1)
fstp dword [esp + 0x28]
fmul dword [eax + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x24]
fld st(0)
fadd dword [esp + 0x48]
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
fld st(0)
fadd dword [esp + 0x4c]
fstp dword [esp + 0x38]
fld dword [esp + 0x2c]
fadd dword [esp + 0x50]
fstp dword [esp + 0x3c]
fld dword [esp + 0x58]
fstp qword [esp + 0x5c]
fld1
fstp dword [esp + 4]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fldz
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.006f6a20
call sub.MSVCR80.dll__CIsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdivr qword [esp + 0x54]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x1c]
fstp dword [esp + 0x60]
fmul dword [esp + 0x20]
fstp dword [esp + 0x64]
fld dword [esp + 0x40]
fld dword [esp + 0x64]
fld st(0)
fsubp st(2)
add esi, 0x24
fxch st(1)
add esi, 0x24
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [esp + 0x60]
fld st(0)
fadd dword [esp + 0x44]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fld dword [esp + 0x48]
mov dword [esi - 0x48], eax
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esi - 0x44], ecx
mov dword [esi - 0x40], edx
mov eax, dword [0x84c820]
mov dword [esi - 0x3c], eax
mov ecx, dword [0x84c824]
mov dword [esi - 0x38], ecx
mov edx, dword [0x84c828]
mov dword [esi - 0x34], edx
mov eax, dword [esp + 0x38]
mov dword [esi - 0x30], eax
fld dword [edi + 0x18]
fld dword [esp + 0x3c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fld dword [edi + 0x1c]
mov dword [esi - 0x2c], ecx
fld dword [esp + 0x18]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esi - 0x28], edx
fld st(3)
fadd dword [esp + 0x40]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [esp + 0x44]
fsub st(3)
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fld dword [esp + 0x48]
mov dword [esi - 0x24], eax
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esi - 0x20], ecx
mov dword [esi - 0x1c], edx
mov eax, dword [0x84c820]
mov dword [esi - 0x18], eax
mov ecx, dword [0x84c824]
mov dword [esi - 0x14], ecx
mov edx, dword [0x84c828]
mov dword [esi - 0x10], edx
mov eax, dword [esp + 0x38]
mov dword [esi - 0xc], eax
fld dword [edi + 0x20]
fadd st(2)
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fld dword [edi + 0x24]
mov dword [esi - 8], ecx
fadd st(1)
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fld dword [esp + 0x2c]
mov dword [esi - 4], edx
fld st(0)
fsub st(5)
fstp dword [esp + 0x1c]
fld dword [esp + 0x30]
fld st(0)
fadd st(5)
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
fld dword [esp + 0x34]
mov dword [esi], eax
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esi + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esi + 8], edx
mov eax, dword [0x84c820]
mov dword [esi + 0xc], eax
mov ecx, dword [0x84c824]
mov dword [esi + 0x10], ecx
mov edx, dword [0x84c828]
mov dword [esi + 0x14], edx
mov eax, dword [esp + 0x38]
mov dword [esi + 0x18], eax
fld dword [edi + 0x28]
fadd st(4)
add esi, 0x24
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fld dword [edi + 0x2c]
mov dword [esi - 8], ecx
fadd st(3)
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esi - 4], edx
fxch st(1)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
fxch st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fld dword [esp + 0x34]
mov dword [esi + 4], ecx
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esi + 8], edx
mov eax, dword [0x84c820]
mov dword [esi + 0xc], eax
mov ecx, dword [0x84c824]
mov dword [esi + 0x10], ecx
mov edx, dword [0x84c828]
mov dword [esi + 0x14], edx
mov eax, dword [esp + 0x38]
mov dword [esi + 0x18], eax
fadd dword [edi + 0x30]
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fadd dword [edi + 0x34]
mov dword [esi + 0x1c], ecx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x20], edx
mov eax, dword [edi + 0xa4]
mov word [eax + ebx*2], bp
mov ecx, dword [edi + 0xa4]
lea eax, [ebp + 1]
mov word [ecx + ebx*2 + 2], ax
mov edx, dword [edi + 0xa4]
lea ecx, [ebp + 2]
mov word [edx + ebx*2 + 4], cx
mov edx, dword [edi + 0xa4]
add ebp, 3
mov word [edx + ebx*2 + 6], bp
mov edx, dword [edi + 0xa4]
mov word [edx + ebx*2 + 8], cx
mov ecx, dword [edi + 0xa4]
mov word [ecx + ebx*2 + 0xa], ax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 0x10