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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x7d822b
push eax
mov dword fs:[0], esp
sub esp, 0x1c8
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov al, byte [ebp + 0x2c4]
test al, al
je 0x6c4658
mov eax, dword [0x9eba64]
mov cl, byte [eax + 0xc8]
test cl, cl
jne 0x6c4658
mov eax, dword [0x9eba50]
xor ecx, ecx
mov cl, byte [eax + 0x7d]
test ecx, ecx
jne 0x6c4658
mov cl, byte [eax + 0x7e]
test ecx, ecx
jne 0x6c4658
mov cl, byte [eax + 0x134]
mov eax, ecx
test eax, eax
jne 0x6c4658
mov eax, dword [0x9ea1d4]
mov ecx, dword [eax + 0xbd8]
test ecx, ecx
jne 0x6c3737
add eax, 0x98
push 0x8b1814
push 0x8b1794
mov edx, dword [eax]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [0x8b1784]
mov edx, dword [eax + 8]
mov eax, dword [0x8b1788]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x128]
push edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x2c], ecx
call fcn.0076fbab
lea eax, [esp + 0x120]
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.0076fb20
fld dword [esp + 0x60]
fdiv dword [esp + 0x64]
fcom qword [0x7e64a0]
fnstsw ax
test ah, 0x41
je 0x6c37f8
fcomp qword [0x7e6060]
fnstsw ax
test ah, 1
jne 0x6c37fa
fld dword [esp + 0x58]
fdiv dword [esp + 0x64]
fadd dword [0x7e5668]
fimul dword [esp + 0x20]
fmul dword [0x7e5860]
call fcn.007a2dec
fld dword [esp + 0x5c]
fdiv dword [esp + 0x64]
mov esi, eax
fsubr dword [0x7e5668]
fimul dword [esp + 0x54]
fmul dword [0x7e5860]
call fcn.007a2dec
jmp 0x6c3800
mov eax, dword [eax + 0xbd8]
push 0x8b1814
add eax, 0x98
push 0x8b1794
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x8b1788]
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x30], edx
mov edx, dword [0x8b1784]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x128]
push eax
call fcn.0076fbab
lea ecx, [esp + 0x120]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x5c]
push edx
push eax
call fcn.0076fb20
fld dword [esp + 0x60]
fdiv dword [esp + 0x64]
fcom qword [0x7e64a0]
fnstsw ax
test ah, 0x41
je 0x6c37f8
fcomp qword [0x7e6060]
fnstsw ax
test ah, 1
jne 0x6c37fa
fld dword [esp + 0x58]
fdiv dword [esp + 0x64]
fadd dword [0x7e5668]
fimul dword [esp + 0x20]
fmul dword [0x7e5860]
call fcn.007a2dec
fld dword [esp + 0x5c]
fdiv dword [esp + 0x64]
mov esi, eax
fsubr dword [0x7e5668]
fimul dword [esp + 0x54]
fmul dword [0x7e5860]
call fcn.007a2dec
jmp 0x6c3800
fstp st(0)
or esi, 0xffffffff
or eax, 0xffffffff
mov ebx, dword [esp + 0x1e8]
mov ecx, esi
mov edx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x20], edx
sub eax, ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [0x9eba5c]
fstp dword [esp + 0x14]
fild dword [esp + 0x20]
mov ecx, dword [eax + 0x1ac]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0xe0]
fstp dword [esp + 0x1c]
call fcn.00425b90
fld dword [esp + 0x44]
fcos
fstp dword [esp + 0xe0]
fld dword [esp + 0x44]
fsin
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x108], edx
fchs
fst dword [esp + 0xe8]
fchs
fstp dword [esp + 0x100]
fld dword [esp + 0x14]
fld dword [esp + 0x100]
fmul dword [esp + 0x1c]
fld st(1)
fmul dword [esp + 0xe0]
faddp st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x14]
fld dword [esp + 0x104]
fmul dword [esp + 0x1c]
fld dword [esp + 0xe4]
fmul st(2)
faddp st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0x18]
fmul dword [esp + 0xe8]
fld dword [esp + 0xe0]
fmul dword [esp + 0x1c]
faddp st(1)
fadd dword [esp + 0x118]
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fcom dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x6c3914
fld dword [esp + 0x14]
fdiv st(1)
fstp dword [esp + 0x14]
fxch st(1)
fdiv st(1)
fxch st(1)
fstp st(0)
fld dword [esp + 0x14]
fcomp dword [0x7e5664]
fnstsw ax
fcomp dword [0x7e5664]
test ah, 1
fnstsw ax
jne 0x6c394c
fld dword [esp + 0x14]
test ah, 1
jne 0x6c393f
call fcn.007a3bc0
jmp 0x6c396f
call fcn.007a3af0
fadd dword [0x7e6240]
jmp 0x6c396f
fld dword [esp + 0x14]
test ah, 1
fchs
jne 0x6c3964
call fcn.007a3af0
fadd dword [0x7e6484]
jmp 0x6c396f
call fcn.007a3bc0
fadd dword [0x7e6480]
mov esi, dword [esp + 0x1ec]
lea eax, [esp + 0x160]
fstp dword [esp + 0x44]
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, dword [0x9ea1d0]
push esi
push ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x84], 0xffffffff
call fcn.00489620
mov edx, dword [esp + 0x74]
mov ecx, dword [0x9ea1d0]
push 0
push edx
mov edi, eax
call fcn.006a2810
push eax
mov ecx, ebp
call fcn.006bb600
mov ecx, dword [0x9ea1d4]
mov eax, dword [ecx + 0x494]
test eax, eax
jge 0x6c39d5
xor edi, edi
push 0
push edi
call fcn.0047cd70
mov byte [esp + 0x13], al
mov eax, dword [0x9eba50]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 0x89]
mov dl, byte [eax + 0x109]
test edi, edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x20], edx
jne 0x6c3dc3
mov eax, dword [0x9ea1d4]
mov cl, byte [eax + 0xb65]
test cl, cl
je 0x6c3a1e
push edi
push edi
mov ecx, ebp
call fcn.006b7cc0
mov ecx, dword [0x9ea1cc]
lea eax, [esp + 0x160]
push eax
push 1
mov ecx, dword [ecx + 0x1c]
push esi
push ebx
mov edx, dword [ecx]
call dword [edx + 0x5c]
mov ecx, dword [0x9ea1d4]
mov dword [ecx + 0xbb0], eax
mov edx, dword [0x9ea1cc]
mov ecx, dword [edx + 0x1c]
lea edx, [esp + 0x14]
push edx
push esi
mov eax, dword [ecx]
push ebx
call dword [eax + 0x34]
mov eax, dword [0x9ea1cc]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x9ea1cc]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
lea eax, [esp + 0x68]
mov ecx, dword [ecx + 0x1c]
push eax
lea eax, [esp + 0x4c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x64]
test al, al
je 0x6c3ace
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [0x9ea1d4]
fld dword [esp + 0x48]
lea eax, [ecx + 0x98]
mov edx, eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
mov edx, dword [edx + 8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov edx, dword [eax]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
mov edx, dword [eax + 8]
fsub dword [esp + 0x30]
fld dword [esp + 0x28]
fsub dword [esp + 0x34]
fld dword [esp + 0x50]
mov dword [esp + 0x38], edx
mov eax, dword [0x9ea1d4]
fsub dword [esp + 0x38]
mov eax, dword [eax + 0xbb0]
test eax, eax
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fstp dword [esp + 0x40]
jne 0x6c3c26
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [0x9ea1d0]
push esi
push ebx
call fcn.004882a0
push eax
mov ecx, ebp
call fcn.006a3f50
test al, al
je 0x6c3b7a
mov dword [esp + 0x3c], 1
jmp 0x6c3dc3
mov edx, dword [0x9eba5c]
cmp dword [edx + 0x1c8], 3
jne 0x6c3dc3
mov eax, dword [0x9eba88]
mov ecx, dword [eax + 0x1fc]
mov eax, dword [ecx + 0xe4]
test eax, eax
jne 0x6c3dc3
mov edx, dword [0x9ea1d4]
push 1
push 0x7531
push 0x7531
mov byte [edx + 0xb69], 0
mov eax, dword [0x9ea1d4]
mov ecx, dword [0x9eba60]
mov eax, dword [eax + 0x4c8]
push eax
push eax
call fcn.004920e0
fld dword [esp + 0x40]
fcomp dword [0x7e63d4]
fnstsw ax
test ah, 0x41
jne 0x6c3dc3
mov edx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push 0x7531
mov eax, dword [esp + 0x24]
sub esp, 0xc
mov ecx, esp
push 0x7531
push 0
mov dword [ecx], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [0x9ea1d4]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x4c8]
push ecx
jmp 0x6c3db8
cmp dword [eax + 0x144], 5
jne 0x6c3d12
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x5c]
mov esi, 0xff1064ff
mov byte [esp + 0x5c], dl
call fcn.00404e60
mov eax, dword [0x9ea1d4]
mov dword [esp + 0x1e0], 0
mov ecx, dword [eax + 0xbb0]
mov eax, dword [ecx + 0x13c]
dec eax
je 0x6c3ca4
dec eax
je 0x6c3c81
lea edx, [esp + 0x58]
push edx
push 0x319c
call fcn.00709cc0
add esp, 8
jmp 0x6c3cd2
lea eax, [esp + 0x58]
push eax
push 0x319e
call fcn.00709cc0
mov ecx, dword [0x9ea1d4]
add esp, 8
mov esi, dword [ecx + 0x4e4]
sub esi, 2
jmp 0x6c3cc2
lea edx, [esp + 0x58]
push edx
push 0x319d
call fcn.00709cc0
mov eax, dword [0x9ea1d4]
add esp, 8
mov esi, dword [eax + 0x4e4]
dec esi
neg esi
sbb esi, esi
and esi, 0xeefb61
add esi, 0xff1064ff
mov ecx, dword [ebp + 0x54]
test ecx, ecx
je 0x6c3cfc
mov edx, dword [ecx]
push 1
call dword [edx + 0x44]
mov ecx, dword [ebp + 0x54]
lea eax, [esp + 0x58]
push esi
push eax
call fcn.005a0280
mov ecx, dword [ebp + 0x54]
push 1
push 0x64
push 0x64
call fcn.005a0220
push 1
lea ecx, [esp + 0x5c]
mov dword [esp + 0x1e4], 0xffffffff
call fcn.00404e60
mov ecx, dword [0x9eba5c]
cmp dword [ecx + 0x1c8], 3
jne 0x6c3dc3
mov edx, dword [0x9eba88]
mov eax, dword [edx + 0x1fc]
mov ecx, dword [eax + 0xe4]
test ecx, ecx
jne 0x6c3dc3
mov ecx, dword [0x9ea1d4]
push 1
push 0x7531
push 0x7531
mov byte [ecx + 0xb69], 0
mov edx, dword [0x9ea1d4]
mov ecx, dword [0x9eba60]
mov eax, dword [edx + 0x4c8]
push eax
push eax
call fcn.004920e0
fld dword [esp + 0x40]
fcomp dword [0x7e63d4]
fnstsw ax
test ah, 0x41
jne 0x6c3dc3
mov ecx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push 0x7531
mov edx, dword [esp + 0x24]
sub esp, 0xc
mov eax, esp
push 0x7531
push 0
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [0x9ea1d4]
mov dword [eax + 8], ecx
mov eax, dword [edx + 0x4c8]
push eax
mov ecx, dword [0x9eba60]
call fcn.00493bd0
mov ecx, dword [ebp + 0x1fc]
cmp dword [ecx + 0xe4], 1
jne 0x6c3ee9
mov edx, dword [0x9ea1d4]
push 0
add edx, 0x98
mov eax, dword [edx]
mov dword [esp + 0x28], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x2c], ecx
mov ecx, eax
mov edx, dword [edx + 8]
mov dword [esp + 0x34], ecx
mov ecx, edx
push edx
mov dword [esp + 0x40], ecx
mov ecx, dword [0x9ea1cc]
push eax
mov dword [esp + 0x38], edx
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx]
call dword [esi + 0x30]
mov edx, dword [0x9eba5c]
fstp dword [esp + 0x34]
cmp dword [edx + 0x1c8], 3
jne 0x6c3ea1
mov eax, dword [0x9ea1d4]
mov ecx, dword [eax + 0x31c]
test ecx, ecx
je 0x6c3ea1
mov byte [eax + 0xb69], 1
mov eax, dword [0x9ea1d4]
mov ecx, dword [0x9eba60]
push 1
mov eax, dword [eax + 0x4c8]
push 0x7531
push 0x7531
push eax
push eax
call fcn.004920e0
mov edx, dword [esp + 0x30]
push 0
push 0xffffffffffffffff
push 0x7531
mov eax, dword [esp + 0x40]
sub esp, 0xc
mov ecx, esp
push 0x7531
push 0
mov dword [ecx], edx
mov edx, dword [esp + 0x58]
mov dword [ecx + 4], eax
mov eax, dword [0x9ea1d4]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x4c8]
push ecx
mov ecx, dword [0x9eba60]
call fcn.00493bd0
mov edx, dword [ebp + 0x1fc]
lea ecx, [ebp + 0x298]
push ecx
mov ecx, dword [0x9eba60]
mov eax, dword [edx + 0x1a0]
push eax
push eax
call fcn.004921e0
mov edx, dword [ebp + 0x1fc]
xor eax, eax
mov dword [edx + 0xe4], 2
mov dword [ebp + 0x304], 0xbf800000
mov dword [ebp + 0x300], eax
mov dword [ebp + 0x308], eax
mov ecx, dword [0x9ea1d4]
mov eax, dword [ecx + 0x310]
cmp eax, 4
je 0x6c4654
cmp eax, 5
je 0x6c45ae
mov edx, dword [0x9eba5c]
cmp dword [edx + 0x1c8], 3
jne 0x6c45ae
call fcn.00441450
fstp dword [ebp + 0x2a8]
test edi, edi
je 0x6c4106
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x6c4065
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x6c4065
mov eax, dword [0x9ea1d4]
push 0
add eax, 0x98
mov ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 8]
mov ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x9ea1cc]
push edx
push eax
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x38], edx
mov esi, dword [ecx]
call dword [esi + 0x30]
mov edx, dword [0x9eba5c]
mov eax, dword [0x9ea1d4]
fstp dword [esp + 0x34]
mov esi, dword [edx + 0x1c8]
mov ecx, dword [eax + 0x31c]
cmp esi, 3
jne 0x6c4031
mov edx, dword [0x9eba88]
mov edx, dword [edx + 0x1fc]
mov esi, dword [edx + 0xe4]
test esi, esi
jne 0x6c4031
test ecx, ecx
je 0x6c4031
mov byte [eax + 0xb69], 1
mov eax, dword [0x9ea1d4]
mov ecx, dword [0x9eba60]
push 1
mov eax, dword [eax + 0x4c8]
push 0x7531
push 0x7531
push eax
push eax
call fcn.004920e0
mov edx, dword [esp + 0x30]
push 0
push 0xffffffffffffffff
push 0x7531
mov eax, dword [esp + 0x40]
sub esp, 0xc
mov ecx, esp
push 0x7531
push 0
mov dword [ecx], edx
mov edx, dword [esp + 0x58]
mov dword [ecx + 4], eax
mov eax, dword [0x9ea1d4]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x4c8]
push ecx
mov ecx, dword [0x9eba60]
call fcn.00493bd0
mov eax, dword [0x9ea1d4]
mov cl, byte [eax + 0xbb4]
test cl, cl
je 0x6c4654
mov edx, dword [eax + 0xbb8]
mov eax, dword [edi + 0x4c8]
cmp edx, eax
je 0x6c4654
push 1
push 0
mov ecx, ebp
call fcn.006b78b0
mov al, 1
jmp 0x6c465a
mov al, byte [esp + 0x13]
test al, al
je 0x6c409c
mov eax, dword [0x9ea1d4]
mov cl, byte [eax + 0xbb4]
test cl, cl
je 0x6c45f5
push 1
push 0
mov ecx, ebp
call fcn.006b78b0
push edi
push 1
mov ecx, ebp
call fcn.006b7cc0
mov al, 1
jmp 0x6c465a
mov ecx, dword [0x9ea1d4]
push 1
push edi
call fcn.0046a0c0
mov ecx, dword [0x9ea1d4]
mov ecx, dword [ecx + 0xbd8]
test ecx, ecx
je 0x6c40c2
push 1
push edi
call fcn.0046a0c0
mov byte [ebp + 0x2ac], 1
mov ecx, dword [0x9ea1d4]
fld dword [ecx + 0x350]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x41
je 0x6c40f3
push 1
push 1
mov ecx, ebp
call fcn.006b78b0
mov ecx, dword [0x9ea1d4]
mov edx, dword [ecx + 0x494]
push edx
call fcn.004791d0
mov al, 1
jmp 0x6c465a
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x6c4654
mov ecx, dword [0x9ea1d4]
mov eax, dword [ecx + 0x500]
cmp eax, 0x753a
je 0x6c4145
cmp eax, 0x7558
je 0x6c4145
cmp eax, 0x7562
je 0x6c4145
cmp eax, 0x756c
je 0x6c4145
cmp eax, 0x756d
jne 0x6c4449
add ecx, 0x7c
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x78]
mov eax, dword [ecx + 8]
push edx
mov dword [esp + 0x84], eax
lea eax, [esp + 0x124]
mov ecx, dword [ecx + 0xc]
push eax
mov dword [esp + 0x8c], ecx
call fcn.00770096
fld dword [esp + 0x150]
fadd dword [esp + 0x140]
mov ecx, dword [0x9ea1d4]
lea edx, [ecx + 0x98]
fstp dword [esp + 0x14]
fld dword [esp + 0x154]
fadd dword [esp + 0x144]
mov eax, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
fstp dword [esp + 0x18]
fld dword [esp + 0x158]
fadd dword [esp + 0x148]
mov edx, dword [edx + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
fstp dword [esp + 0x1c]
fld dword [0x7eda7c]
fmul dword [0x7e5f08]
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
fstp dword [esp + 0x20]
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0xc4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0x9c], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
mov eax, dword [ecx + 0x500]
mov dword [esp + 0x38], edx
cmp eax, 0x756c
jne 0x6c42ab
call fcn.0046cde0
fmul dword [0x7e5860]
jmp 0x6c42b0
call fcn.0046cde0
fstp dword [esp + 0x40]
xor edi, edi
lea esi, [esp + 0x180]
mov dword [esp + 0x3c], edi
fild dword [esp + 0x3c]
push ecx
lea eax, [esp + 0x8c]
fmul dword [esp + 0x24]
fstp dword [esp]
push eax
call fcn.0077001b
fld dword [esp + 0x88]
fmul dword [esp + 0x14]
fld dword [esp + 0x18]
fmul dword [esp + 0x98]
lea eax, [esi - 8]
push 1
lea ebx, [esp + 0x170]
push 0
faddp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0xb0]
push ebx
lea ebx, [esp + 0x64]
push ebx
push 0x3f800000
faddp st(1)
push eax
fadd dword [esp + 0xd0]
fld dword [esp + 0xa4]
fmul dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [esp + 0xb4]
faddp st(1)
fld dword [esp + 0x34]
fmul dword [esp + 0xc4]
faddp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x40]
fld dword [esp + 0xa8]
fmul dword [esp + 0x2c]
fld dword [esp + 0x34]
fmul dword [esp + 0xc8]
mov ecx, dword [esp + 0x40]
mov dword [esi - 4], ecx
faddp st(1)
fld dword [esp + 0x30]
fmul dword [esp + 0xb8]
faddp st(1)
fadd dword [esp + 0xd8]
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x58]
mov dword [esi], edx
fmul dword [eax]
fld dword [esp + 0x58]
fmul dword [esi - 4]
lea eax, [esp + 0x90]
push eax
fstp dword [esp + 0xe8]
fld dword [esp + 0x5c]
fmul dword [esi]
fstp dword [esp + 0xec]
fld dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
fstp st(0)
fld dword [esp + 0x50]
fadd dword [esp + 0xe8]
mov dword [esp + 0x94], ecx
fstp dword [esp + 0x88]
fld dword [esp + 0x54]
fadd dword [esp + 0xec]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x98], edx
mov edx, dword [0x9ea1cc]
fstp dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x9c], ecx
mov ecx, dword [edx + 0x1c]
mov edx, dword [ecx]
call dword [edx + 0x60]
test al, al
jne 0x6c4658
inc edi
add esi, 0xc
cmp edi, 8
mov dword [esp + 0x3c], edi
jl 0x6c42c1
mov ecx, dword [0x9ea1d4]
mov ebx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x44]
push 1
push esi
call fcn.0046a000
mov ecx, dword [0x9ea1d4]
mov ecx, dword [ecx + 0xbd8]
test ecx, ecx
je 0x6c446d
push 1
push esi
call fcn.0046a000
mov edx, dword [0x9ea1cc]
mov ecx, dword [edx + 0x1c]
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x1f0]
mov eax, dword [ecx]
push edx
push ebx
call dword [eax + 0x34]
mov eax, dword [0x9ea1cc]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x4c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x64]
test al, al
je 0x6c44c8
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov ecx, dword [0x9ea1d4]
fld dword [esp + 0x48]
lea eax, [ecx + 0x98]
mov edx, eax
mov esi, dword [edx]
mov dword [esp + 0x24], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x28], esi
mov edx, dword [edx + 8]
mov dword [esp + 0x2c], edx
mov edx, esi
mov dword [esp + 0x4c], edx
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 4]
fsub dword [esp + 0x30]
fld dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], edx
fsub dword [esp + 0x34]
fld dword [esp + 0x50]
mov dword [esp + 0x38], eax
mov al, byte [ecx + 0xbb4]
fsub dword [esp + 0x38]
test al, al
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fstp dword [esp + 0x3c]
jne 0x6c456b
fld dword [esp + 0x3c]
fcomp dword [0x7e63d4]
fnstsw ax
test ah, 0x41
jne 0x6c45a1
push 1
push 1
mov ecx, ebp
mov byte [ebp + 0x2ac], 1
call fcn.006b78b0
mov ecx, dword [0x9ea1d4]
fld dword [esp + 0x3c]
fcomp dword [0x7e63d4]
fnstsw ax
test ah, 0x41
jne 0x6c45a1
mov eax, dword [esp + 0x48]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x58]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [edx + 8], eax
call fcn.004791f0
mov al, 1
jmp 0x6c465a
mov al, byte [ecx + 0xbb4]
test al, al
jmp 0x6c404d
cmp eax, 4
je 0x6c4654
cmp eax, 5
je 0x6c4654
test edi, edi
je 0x6c4654
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x6c45d8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6c4654
mov al, byte [esp + 0x13]
test al, al
je 0x6c4603
mov al, byte [ecx + 0xbb4]
test al, al
je 0x6c45f5
push 1
push 0
mov ecx, ebp
call fcn.006b78b0
push edi
push 1
mov ecx, ebp
call fcn.006b7cc0
mov al, 1
jmp 0x6c465a
mov byte [ecx + 0xb65], 0
mov ecx, dword [0x9ea1d4]
call fcn.00475410
test al, al
jne 0x6c4654
mov ecx, dword [0x9ea1d4]
push 0
call fcn.00471340
test eax, eax
je 0x6c463a
mov ecx, dword [eax + 0x310]
cmp ecx, 4
je 0x6c4654
cmp ecx, 5
je 0x6c4654
mov ecx, dword [0x9ea1d4]
push eax
mov dl, byte [ecx + 0xb65]
mov ecx, ebp
test dl, dl
sete dl
push edx
call fcn.006b7cc0
mov al, 1
jmp 0x6c465a
xor al, al
mov ecx, dword [esp + 0x1d8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1d4
ret 0x10