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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x17c
mov ebp, dword [esp + 0x190]
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x194]
test ebp, ebp
sete al
test edx, edx
sete dl
or al, dl
jne 0x694a08
test esi, esi
je 0x694a08
lea ecx, [esp + 0x128]
mov edx, esi
mov eax, ebp
call fcn.0068d8b0
test eax, eax
je 0x694a08
fld qword [esi]
mov eax, dword [esp + 0x198]
fst qword [esp + 0x48]
fldz
fst qword [eax + 0x10]
fst qword [eax + 8]
fst qword [eax]
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x30]
fcompi st(1)
fstp st(0)
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x6c], eax
jne 0x694e60
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0068baf0
mov eax, dword [ebp + 0x20]
mov edx, dword [eax + 4]
test edx, edx
jle 0x694a28
mov dword [esp + 0x2c], edx
xor edi, edi
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x10]
and eax, 0x3fff
mov dword [esp + 0x28], eax
sub eax, 1
cmp eax, 1
ja 0x6949f0
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0xa0]
and eax, 0x2000
test byte [ebp + 0xb1], 0x40
jne 0x694a40
test eax, eax
je 0x6948a4
test byte [0x8dedf2], 1
jne 0x694a70
jmp 0x6948a4
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0xc8]
call fcn.0068ce20
test eax, eax
je 0x6949f0
fld qword [esi + 0x10]
mov eax, esi
xor ebx, ebx
fld qword [eax + 8]
fld qword [esp + 0xc8]
fmul st(2)
fadd st(1)
fxch st(2)
fmul qword [esp + 0xe8]
faddp st(1)
fxch st(1)
fcomi st(1)
ja 0x6948eb
fxch st(1)
mov eax, dword [esp + 0x198]
cmp dword [esp + 0x28], 1
fld qword [eax + 8]
je 0x694c90
fldz
fld qword [ebp + 0x78]
fcomi st(1)
jbe 0x694960
fld st(4)
fdiv st(1)
fcomi st(2)
jbe 0x694df0
fstp st(2)
fxch st(1)
fcomi st(2)
ja 0x694ef8
fstp st(0)
jmp 0x694930
fstp st(1)
jmp 0x694930
fstp st(1)
nop
fdivr st(2)
fldz
fxch st(1)
fcomi st(1)
jbe 0x694ed0
fstp st(1)
fcomi st(1)
jbe 0x694ee0
fstp st(1)
mov eax, dword [esp + 0x198]
fst qword [eax + 8]
jmp 0x694964
fstp st(0)
fstp st(0)
fld qword [ebp + 0x70]
fldz
fcomi st(1)
ja 0x6951c0
fstp st(0)
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x6949b0
fstp st(0)
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x6949b0
fstp st(0)
jmp 0x6949b0
fstp st(0)
jmp 0x6949b0
fstp st(1)
jmp 0x6949b0
fstp st(1)
jmp 0x6949b0
fstp st(1)
jmp 0x6949b0
fstp st(1)
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x198]
fstp qword [eax + 0x10]
test ebx, ebx
je 0x6949f0
lea eax, [esp + 0x70]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00689680
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0068baf0
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x2c]
add edi, 1
cmp edi, eax
je 0x694a18
mov eax, dword [ebp + 0x20]
jmp 0x694820
add esp, 0x17c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
fldz
fld qword [esp + 0x48]
fcompi st(1)
fstp st(0)
jne 0x694eb0
add esp, 0x17c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
fldz
fld qword [ebx + 0xc8]
fcompi st(1)
je 0x694c50
fstp st(0)
test eax, eax
je 0x694ac0
test byte [0x8dedf2], 1
je 0x694ac0
mov eax, dword [esp + 0x20]
test byte [eax + 0x52], 1
je 0x694ac0
mov edx, 1
jmp 0x694a80
mov eax, dword [esp + 0x20]
xor edx, edx
test byte [eax + 0x52], 1
je 0x6948a4
mov eax, dword [esp + 0x20]
fld qword [eax + 0x38]
fst qword [esp + 0x30]
fldz
fcomi st(1)
fstp st(1)
jne 0x694f10
fld qword [eax + 0x40]
fst qword [esp + 0x30]
fcompi st(1)
jne 0x694f18
fld qword [eax + 0x48]
fst qword [esp + 0x30]
fcompi st(1)
fstp st(0)
jne 0x694f1a
test edx, edx
je 0x6948a4
nop
mov eax, dword [esi]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xb4], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0xcc]
mov dword [esp + 0xd4], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 0xe0], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xe4], eax
fld qword [0x767f60]
fld1
fcompi st(1)
je 0x694ba8
fld qword [esp + 0xd0]
fmul st(1)
fstp qword [esp + 0xd0]
fmul qword [esp + 0xd8]
fstp qword [esp + 0xd8]
jmp 0x694baa
fstp st(0)
lea eax, [esp + 0xc8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x3c], eax
fldz
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0xa8]
fst qword [esp + 0xa8]
fstp qword [esp + 0xc0]
call fcn.0068cf90
fld qword [esp + 0x118]
fldz
fcompi st(1)
je 0x694c1b
fld qword [esp + 0x108]
fld st(0)
fabs
fld qword [0x7b3858]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x694da0
fstp st(0)
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
fstp qword [esp + 0x40]
mov eax, dword [esp + 0x20]
call fcn.0068ce20
test eax, eax
je 0x6949ba
fld qword [esp + 0x40]
mov eax, dword [esp + 0x38]
jmp 0x6948ca
fld qword [ebx + 0xd0]
test eax, eax
je 0x694d90
xor edx, edx
fcompi st(1)
fstp st(0)
setne dl
test byte [0x8dedf2], 1
je 0x694ab7
mov eax, dword [esp + 0x20]
test byte [eax + 0x52], 1
je 0x694ab7
jmp 0x694a80
fld qword [ebp + 0x68]
fld qword [ebp + 0x60]
fldz
fcomi st(2)
ja 0x694e18
fxch st(2)
fcomi st(2)
jbe 0x694d08
fld st(5)
fdiv st(1)
fcomi st(3)
jbe 0x695370
fstp st(3)
fxch st(1)
fxch st(2)
fcomi st(3)
ja 0x6953f8
fstp st(0)
jmp 0x694cd8
fstp st(2)
fxch st(1)
jmp 0x694cd8
fstp st(2)
fxch st(1)
lea esi, [esi]
fdivr st(3)
fld st(0)
fldz
fxch st(2)
fcomi st(2)
jbe 0x6953b8
fstp st(2)
fxch st(1)
fcomi st(3)
jbe 0x6953d8
fstp st(3)
fxch st(1)
fxch st(2)
mov eax, dword [esp + 0x198]
fstp qword [eax + 8]
fxch st(1)
jmp 0x694d26
fstp st(0)
fstp st(1)
jmp 0x694d26
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x694d26
fstp st(0)
fstp st(0)
fstp st(1)
fldz
fcomi st(1)
jbe 0x694980
fxch st(4)
fdiv st(1)
fcomi st(4)
jbe 0x695420
fstp st(4)
fxch st(1)
fxch st(2)
fxch st(3)
fcomi st(2)
ja 0x69540a
fstp st(0)
jmp 0x694d60
fstp st(3)
fxch st(1)
fxch st(2)
jmp 0x694d60
fstp st(3)
fxch st(1)
fxch st(2)
nop
fdivp st(2)
fldz
fxch st(2)
fcomi st(2)
jbe 0x695450
fstp st(2)
fxch st(1)
fcomi st(1)
jbe 0x69498a
fstp st(1)
mov eax, dword [esp + 0x198]
fst qword [eax + 8]
jmp 0x6949b0
fcompi st(1)
fstp st(0)
je 0x6948a4
jmp 0x694ac0
fxch st(1)
fstp qword [esp + 0x40]
fadd qword [esp + 0x80]
mov ebx, 1
mov dword [esp + 0x1c], 0
mov dword [esp], ebp
fstp qword [esp + 0x14]
fld qword [esp + 0x78]
fstp qword [esp + 0xc]
fld qword [esp + 0x70]
fstp qword [esp + 4]
call fcn.006895d0
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0068baf0
fld qword [esp + 0x40]
jmp 0x694c1d
fxch st(2)
fcompi st(2)
jbe 0x694928
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(2)
jbe 0x69492c
fxch st(1)
fstp qword [eax]
jmp 0x694930
fld qword [esp + 0x138]
fxch st(1)
fcomi st(1)
jb 0x694d10
fcomi st(5)
jb 0x694d20
fstp st(5)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(4)
fld st(2)
fsub st(4)
fmulp st(2)
fxch st(1)
fdiv st(3)
fxch st(1)
fcomi st(1)
ja 0x695478
fstp st(0)
fstp st(0)
fstp st(1)
fdivp st(2)
fxch st(1)
jmp 0x695230
fld qword [esp + 0x48]
fadd qword [esp + 0x68]
mov dword [esp + 0x1c], 0
mov dword [esp], ebp
fstp qword [esp + 0x14]
fld qword [esp + 0x60]
fstp qword [esp + 0xc]
fld qword [esp + 0x58]
fstp qword [esp + 4]
call fcn.006895d0
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0068baf0
mov eax, dword [ebp + 0x20]
mov edx, dword [eax + 4]
test edx, edx
jg 0x69481a
lea esi, [esi]
lea eax, [esp + 0x58]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00689680
jmp 0x694a28
fxch st(1)
fcompi st(1)
ja 0x695398
fstp st(0)
jmp 0x694ef0
fstp st(0)
jmp 0x694ef0
fstp st(0)
lea esi, [esi]
lea esi, [esi]
jmp 0x694964
fstp st(2)
fxch st(1)
fst qword [eax + 8]
fxch st(1)
jmp 0x694930
fstp st(0)
jmp 0x694f1a
fstp st(0)
fld qword [esp + 0x80]
lea eax, [esp + 0x88]
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
fstp qword [esp + 0x14]
fld qword [esp + 0x78]
add eax, 0x38
mov dword [esp], eax
fstp qword [esp + 0xc]
fld qword [esp + 0x70]
fstp qword [esp + 4]
call fcn.006894e0
mov edx, dword [esp + 0x30]
test edx, edx
je 0x695140
mov eax, dword [esi]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xb4], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0xcc]
mov dword [esp + 0xd4], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 0xe0], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xe4], eax
fld qword [0x767f60]
fld1
fcompi st(1)
je 0x6952fd
fld qword [esp + 0xd0]
fmul st(1)
fstp qword [esp + 0xd0]
fmul qword [esp + 0xd8]
fstp qword [esp + 0xd8]
fld qword [esi + 0x18]
fchs
fld qword [esp + 0x88]
fmul st(1)
fstp qword [esp + 0xf0]
fld qword [esp + 0x90]
fmul st(1)
fld qword [esp + 0x98]
fmulp st(2)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(0)
fsqrt
fldz
fld st(0)
fxch st(3)
fcompi st(3)
jbe 0x6952f0
fstp st(0)
fxch st(2)
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
fxch st(2)
fcompi st(2)
jbe 0x6950a3
fxch st(1)
fadd qword [0x7b3850]
fxch st(1)
fstp qword [esp + 0xf8]
fstp qword [esp + 0xe8]
fldz
fstp qword [esp + 0x100]
test edx, edx
jne 0x695250
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xe4], eax
jmp 0x694baa
fld qword [esi + 0x18]
fldz
fld st(0)
fcompi st(2)
je 0x6948a0
mov eax, dword [esi]
fst qword [esp + 0xc8]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 4]
fst qword [esp + 0xd0]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 8]
fst qword [esp + 0xd8]
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0xc]
fstp qword [esp + 0xe0]
mov dword [esp + 0xb4], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc4], eax
jmp 0x695047
fxch st(4)
fdiv st(1)
fcomi st(4)
jbe 0x695310
fstp st(4)
fxch st(1)
fxch st(2)
fxch st(3)
fcomi st(2)
jbe 0x6951f0
fstp st(2)
fxch st(1)
mov eax, dword [esp + 0x198]
fst qword [eax + 8]
fxch st(1)
jmp 0x695210
fstp st(0)
jmp 0x695210
fstp st(3)
fxch st(1)
fxch st(2)
jmp 0x695210
fstp st(3)
fxch st(1)
fxch st(2)
lea esi, [esi]
lea esi, [esi]
fdivp st(2)
fldz
fxch st(2)
fcomi st(2)
jbe 0x695340
fstp st(2)
fxch st(1)
jmp 0x695230
fstp st(3)
fstp st(0)
fxch st(1)
lea esi, [esi]
fcomi st(1)
jbe 0x694990
fstp st(1)
mov eax, dword [esp + 0x198]
fst qword [eax + 8]
jmp 0x6949b0
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x108]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x38], edx
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x3c], eax
call fcn.0068cf90
jmp 0x694bcb
fstp st(3)
fstp st(3)
fstp st(0)
fxch st(1)
jmp 0x6950a3
fstp st(0)
fld qword [esi + 0x18]
jmp 0x695047
fxch st(4)
fcompi st(4)
jbe 0x6951f8
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(4)
jbe 0x695200
fxch st(3)
fstp qword [eax]
fxch st(1)
fxch st(2)
jmp 0x695210
fxch st(2)
fcompi st(2)
jbe 0x694998
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(2)
jbe 0x69499c
fxch st(1)
fstp qword [eax]
jmp 0x6949b0
fxch st(3)
fcompi st(3)
jbe 0x694cc8
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(3)
jbe 0x694cce
fxch st(2)
fstp qword [eax]
fxch st(1)
jmp 0x694cd8
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(1)
jbe 0x694ee4
fstp qword [eax]
jmp 0x694964
fstp st(1)
fxch st(1)
fcompi st(1)
jbe 0x6953e0
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(1)
jbe 0x6953e4
fstp qword [eax]
jmp 0x6953f0
fstp st(0)
fstp st(0)
jmp 0x6953f0
fstp st(0)
jmp 0x6953f0
fstp st(0)
lea esi, [esi]
lea esi, [esi]
jmp 0x694d26
fstp st(3)
fxch st(1)
fxch st(2)
fst qword [eax + 8]
fxch st(2)
fxch st(1)
jmp 0x694cd8
fstp st(2)
fxch st(1)
mov eax, dword [esp + 0x198]
fst qword [eax + 8]
fxch st(1)
jmp 0x694d60
fxch st(4)
fcompi st(4)
jbe 0x694d50
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(4)
jbe 0x694d58
fxch st(3)
fstp qword [eax]
fxch st(1)
fxch st(2)
jmp 0x694d60
fxch st(2)
fcompi st(2)
jbe 0x6949a0
mov eax, dword [esp + 0x198]
fld qword [eax]
fst qword [esp + 0x20]
fcompi st(2)
jbe 0x6949a4
fxch st(1)
fstp qword [eax]
jmp 0x6949b0
fld st(1)
fmul dword [0x7b3938]
fmul st(6)
fld st(3)
fmul st(4)
fsubrp st(1)
fcomi st(1)
fstp st(1)
jb 0x6954bd
fsqrt
fadd st(2)
fmul dword [0x7b3888]
fdivrp st(1)
fld st(2)
fmul st(1)
fxch st(5)
fcomi st(5)
fstp st(5)
ja 0x6954c5
fstp st(2)
fxch st(1)
fld st(0)
fmul st(2)
fcompi st(4)
jbe 0x695224
fstp st(0)
jmp 0x694e55
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6954c9
fstp st(0)
fstp st(0)
fdivp st(2)
fxch st(1)
jmp 0x695230