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

Disassembly:
push 0xffffffffffffffff
push 0x75a44b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1bc
push ebx
mov ebx, ecx
push ebp
push esi
mov al, byte [ebx + 0x280]
push edi
test al, al
mov dword [esp + 0x34], ebx
je 0x66ff51
mov eax, dword [0x93cbf4]
mov cl, byte [eax + 0xc8]
test cl, cl
jne 0x66ff51
mov eax, dword [0x93cbe0]
xor ecx, ecx
mov cl, byte [eax + 0x7d]
test ecx, ecx
jne 0x66ff51
mov cl, byte [eax + 0x7e]
test ecx, ecx
jne 0x66ff51
mov cl, byte [eax + 0x134]
mov eax, ecx
test eax, eax
jne 0x66ff51
mov eax, dword [0x93c97c]
mov ecx, dword [eax + 0xb40]
test ecx, ecx
jne 0x66eebb
add eax, 0x98
push 0x8057e4
push 0x805764
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x805754]
mov edx, dword [eax + 8]
mov eax, dword [0x805758]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x11c]
push edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
call fcn.0070046b
lea eax, [esp + 0x114]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.007003e0
fld dword [esp + 0x6c]
fdiv dword [esp + 0x70]
fcom qword [0x766420]
fnstsw ax
test ah, 0x41
je 0x66ef7c
fcomp qword [0x766000]
fnstsw ax
test ah, 1
jne 0x66ef7e
fld dword [esp + 0x64]
fdiv dword [esp + 0x70]
fadd dword [0x765618]
fimul dword [esp + 0x20]
fmul dword [0x765810]
call fcn.00726fd0
fld dword [esp + 0x68]
fdiv dword [esp + 0x70]
mov esi, eax
fsubr dword [0x765618]
fimul dword [esp + 0x24]
fmul dword [0x765810]
call fcn.00726fd0
jmp 0x66ef84
mov eax, dword [eax + 0xb40]
push 0x8057e4
add eax, 0x98
push 0x805764
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, dword [0x805758]
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
mov edx, dword [0x805754]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x11c]
push eax
call fcn.0070046b
lea ecx, [esp + 0x114]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
call fcn.007003e0
fld dword [esp + 0x6c]
fdiv dword [esp + 0x70]
fcom qword [0x766420]
fnstsw ax
test ah, 0x41
je 0x66ef7c
fcomp qword [0x766000]
fnstsw ax
test ah, 1
jne 0x66ef7e
fld dword [esp + 0x64]
fdiv dword [esp + 0x70]
fadd dword [0x765618]
fimul dword [esp + 0x20]
fmul dword [0x765810]
call fcn.00726fd0
fld dword [esp + 0x68]
fdiv dword [esp + 0x70]
mov esi, eax
fsubr dword [0x765618]
fimul dword [esp + 0x24]
fmul dword [0x765810]
call fcn.00726fd0
jmp 0x66ef84
fstp st(0)
or esi, 0xffffffff
or eax, 0xffffffff
mov edi, dword [esp + 0x1e0]
mov ecx, esi
mov esi, dword [esp + 0x1dc]
sub eax, edi
mov edx, esi
sub edx, ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [0x93cbec]
fstp dword [esp + 0x14]
fild dword [esp + 0x20]
mov ecx, dword [eax + 0x1ac]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0xd4]
fstp dword [esp + 0x1c]
call fcn.004253e0
fld dword [esp + 0x50]
fcos
mov al, byte [0x93f94c]
test al, 1
fstp dword [esp + 0xd4]
fld dword [esp + 0x50]
fsin
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xfc], edx
fchs
fst dword [esp + 0xdc]
fchs
fstp dword [esp + 0xf4]
jne 0x66f021
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f94c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x14]
fstp dword [0x93f950]
fld dword [esp + 0xf4]
fmul dword [esp + 0x1c]
fld dword [esp + 0xd4]
fmul dword [0x93f950]
mov eax, dword [esp + 0x1c]
mov dword [0x93f954], 0
mov dword [0x93f958], eax
faddp st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x14]
fld dword [esp + 0xd8]
fmul dword [0x93f950]
fld dword [esp + 0xf8]
fmul dword [esp + 0x1c]
faddp st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0x18]
fld dword [esp + 0xdc]
fmul dword [0x93f950]
fld dword [esp + 0xfc]
fmul dword [esp + 0x1c]
faddp st(1)
fadd dword [esp + 0x10c]
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 [0x765614]
fnstsw ax
test ah, 0x40
jne 0x66f0e0
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 [0x765614]
fnstsw ax
fcomp dword [0x765614]
test ah, 1
fnstsw ax
jne 0x66f118
fld dword [esp + 0x14]
test ah, 1
jne 0x66f10b
call fcn.00727da0
jmp 0x66f13b
call fcn.00727cd0
fadd dword [0x7661e0]
jmp 0x66f13b
fld dword [esp + 0x14]
test ah, 1
fchs
jne 0x66f130
call fcn.00727cd0
fadd dword [0x766404]
jmp 0x66f13b
call fcn.00727da0
fadd dword [0x766400]
fstp dword [esp + 0x50]
lea ecx, [esp + 0x154]
lea edx, [esp + 0x74]
push ecx
mov ecx, dword [0x93c978]
push edx
push edi
push esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x84], 0xffffffff
call fcn.00480410
mov ecx, dword [0x93c978]
mov edi, eax
mov eax, dword [esp + 0x74]
push 0
push eax
call fcn.00650b10
push eax
mov ecx, ebx
call fcn.00666bd0
mov ecx, dword [0x93c97c]
mov eax, dword [ecx + 0x454]
test eax, eax
jge 0x66f19a
xor edi, edi
push 0
push edi
call fcn.004747d0
mov byte [esp + 0x13], al
mov eax, dword [0x93cbe0]
xor ecx, ecx
xor ebx, ebx
mov cl, byte [eax + 0x109]
mov bl, byte [eax + 0x89]
test edi, edi
mov dword [esp + 0x20], ecx
mov ebp, 3
jne 0x66f575
mov edx, dword [0x93c97c]
mov al, byte [edx + 0xae9]
test al, al
je 0x66f1eb
mov esi, dword [esp + 0x34]
push edi
push edi
mov ecx, esi
call fcn.006631a0
jmp 0x66f1ef
mov esi, dword [esp + 0x34]
mov eax, dword [0x93c974]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0x154]
push eax
mov eax, dword [esp + 0x1e4]
mov edx, dword [ecx]
push 1
push eax
mov eax, dword [esp + 0x1e8]
push eax
call dword [edx + 0x5c]
mov ecx, dword [0x93c97c]
mov dword [ecx + 0xb18], eax
mov edx, dword [0x93c974]
mov ecx, dword [edx + 0x1c]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x1e4]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x1e4]
push edx
call dword [eax + 0x34]
mov eax, dword [0x93c974]
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 + 0x58], ecx
mov ecx, dword [0x93c974]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
lea eax, [esp + 0x44]
mov ecx, dword [ecx + 0x1c]
push eax
lea eax, [esp + 0x5c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x64]
test al, al
je 0x66f2ba
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [0x93c97c]
lea eax, [ecx + 0x98]
mov edx, eax
mov ecx, dword [edx]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x2c], ecx
mov edx, dword [edx + 8]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov edx, dword [eax]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov edx, dword [eax + 8]
mov al, byte [0x93f97c]
mov dword [esp + 0x40], edx
test al, 1
jne 0x66f315
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f97c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x58]
fsub dword [esp + 0x38]
fstp dword [0x93f980]
fld dword [esp + 0x5c]
fsub dword [esp + 0x3c]
mov eax, dword [0x93f980]
mov dword [esp + 0x38], eax
mov eax, dword [0x93c97c]
fstp dword [0x93f984]
fld dword [esp + 0x60]
fsub dword [esp + 0x40]
mov ecx, dword [0x93f984]
mov dword [esp + 0x3c], ecx
fstp dword [0x93f988]
fld dword [esp + 0x38]
mov edx, dword [0x93f988]
mov eax, dword [eax + 0xb18]
fmul dword [esp + 0x38]
mov dword [esp + 0x40], edx
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
test eax, eax
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fsqrt
fstp dword [esp + 0x54]
jne 0x66f3ca
mov edx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1dc]
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [0x93c978]
push edx
push eax
call fcn.0047f290
push eax
mov ecx, esi
call fcn.006521c0
test al, al
je 0x66f4c3
mov dword [esp + 0x24], 1
jmp 0x66f579
cmp dword [eax + 0x144], 5
jne 0x66f4c3
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x68], cl
lea ecx, [esp + 0x68]
mov esi, 0xff1064ff
call fcn.00404760
mov edx, dword [0x93c97c]
mov dword [esp + 0x1d4], 0
mov eax, dword [edx + 0xb18]
mov eax, dword [eax + 0x13c]
dec eax
je 0x66f448
dec eax
je 0x66f426
lea ecx, [esp + 0x64]
push ecx
push 0x319c
call fcn.006a8c20
add esp, 8
jmp 0x66f477
lea edx, [esp + 0x64]
push edx
push 0x319e
call fcn.006a8c20
mov eax, dword [0x93c97c]
add esp, 8
mov esi, dword [eax + 0x490]
sub esi, 2
jmp 0x66f467
lea ecx, [esp + 0x64]
push ecx
push 0x319d
call fcn.006a8c20
mov edx, dword [0x93c97c]
add esp, 8
mov esi, dword [edx + 0x490]
dec esi
neg esi
sbb esi, esi
and esi, 0xeefb61
add esi, 0xff1064ff
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x66f4a9
mov edx, dword [ecx]
push 1
call dword [edx + 0x44]
push esi
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x68]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00584af0
mov ecx, dword [esi + 0x54]
push 1
push 0x64
push 0x64
call fcn.00584a90
push 1
lea ecx, [esp + 0x68]
mov dword [esp + 0x1d8], 0xffffffff
call fcn.00404760
mov esi, dword [esp + 0x34]
mov ecx, dword [0x93cbec]
cmp dword [ecx + 0x1c8], ebp
jne 0x66f579
mov edx, dword [0x93fa62]
mov eax, dword [edx + 0x1cc]
mov ecx, dword [eax + 0xe4]
test ecx, ecx
jne 0x66f579
mov ecx, dword [0x93c97c]
push 1
push 0x7531
push 0x7531
mov byte [ecx + 0xaed], 0
mov edx, dword [0x93c97c]
mov ecx, dword [0x93cbf0]
mov eax, dword [edx + 0x474]
push eax
push eax
call fcn.00487bc0
fld dword [esp + 0x54]
fcomp dword [0x766378]
fnstsw ax
test ah, 0x41
jne 0x66f579
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 [0x93c97c]
mov dword [eax + 8], ecx
mov eax, dword [edx + 0x474]
mov ecx, dword [0x93cbf0]
push eax
call fcn.00489d60
jmp 0x66f579
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x1cc]
cmp dword [ecx + 0xe4], 1
jne 0x66f6a2
mov edx, dword [0x93c97c]
push 0
add edx, 0x98
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov ecx, eax
mov edx, dword [edx + 8]
mov dword [esp + 0x48], ecx
mov ecx, edx
push edx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x93c974]
push eax
mov dword [esp + 0x3c], edx
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx]
call dword [esi + 0x30]
mov edx, dword [0x93cbec]
fstp dword [esp + 0x48]
cmp dword [edx + 0x1c8], ebp
jne 0x66f656
mov eax, dword [0x93c97c]
mov ecx, dword [eax + 0x308]
test ecx, ecx
je 0x66f656
mov byte [eax + 0xaed], 1
mov eax, dword [0x93c97c]
mov ecx, dword [0x93cbf0]
push 1
mov eax, dword [eax + 0x474]
push 0x7531
push 0x7531
push eax
push eax
call fcn.00487bc0
mov edx, dword [esp + 0x44]
push 0
push 0xffffffffffffffff
push 0x7531
mov eax, dword [esp + 0x54]
sub esp, 0xc
mov ecx, esp
push 0x7531
push 0
mov dword [ecx], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [0x93c97c]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x474]
push ecx
mov ecx, dword [0x93cbf0]
call fcn.00489d60
mov esi, dword [esp + 0x34]
mov edx, dword [esi + 0x1cc]
lea ecx, [esi + 0x254]
push ecx
mov ecx, dword [0x93cbf0]
mov eax, dword [edx + 0x19c]
push eax
push eax
call fcn.00487cc0
mov edx, dword [esi + 0x1cc]
xor eax, eax
mov dword [edx + 0xe4], 2
mov dword [esi + 0x2c0], 0xbf800000
mov dword [esi + 0x2bc], eax
mov dword [esi + 0x2c4], eax
mov ecx, dword [0x93c97c]
mov eax, dword [ecx + 0x2fc]
cmp eax, 4
je 0x66ff4d
cmp eax, 5
je 0x66feac
mov edx, dword [0x93cbec]
cmp dword [edx + 0x1c8], ebp
jne 0x66feac
call fcn.0043b9b0
fstp dword [esi + 0x264]
test edi, edi
je 0x66f8b9
test ebx, ebx
jne 0x66f818
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x66f818
mov eax, dword [0x93c97c]
push 0
add eax, 0x98
mov ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 8]
mov ecx, eax
mov dword [esp + 0x48], ecx
mov ecx, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [0x93c974]
push edx
push eax
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x3c], edx
mov ebx, dword [ecx]
call dword [ebx + 0x30]
mov edx, dword [0x93cbec]
mov eax, dword [0x93c97c]
fstp dword [esp + 0x48]
mov ebx, dword [edx + 0x1c8]
mov ecx, dword [eax + 0x308]
cmp ebx, ebp
jne 0x66f7e4
mov edx, dword [0x93fa62]
mov edx, dword [edx + 0x1cc]
mov ebx, dword [edx + 0xe4]
test ebx, ebx
jne 0x66f7e4
test ecx, ecx
je 0x66f7e4
mov byte [eax + 0xaed], 1
mov eax, dword [0x93c97c]
mov ecx, dword [0x93cbf0]
push 1
mov eax, dword [eax + 0x474]
push 0x7531
push 0x7531
push eax
push eax
call fcn.00487bc0
mov edx, dword [esp + 0x44]
push 0
push 0xffffffffffffffff
push 0x7531
mov eax, dword [esp + 0x54]
sub esp, 0xc
mov ecx, esp
push 0x7531
push 0
mov dword [ecx], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [0x93c97c]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x474]
push ecx
mov ecx, dword [0x93cbf0]
call fcn.00489d60
mov eax, dword [0x93c97c]
mov cl, byte [eax + 0xb1c]
test cl, cl
je 0x66ff4d
mov edx, dword [eax + 0xb20]
mov eax, dword [edi + 0x474]
cmp edx, eax
je 0x66ff4d
push 1
push 0
mov ecx, esi
call fcn.00662da0
mov al, 1
jmp 0x66ff53
mov al, byte [esp + 0x13]
test al, al
je 0x66f84f
mov eax, dword [0x93c97c]
mov cl, byte [eax + 0xb1c]
test cl, cl
je 0x66feef
push 1
push 0
mov ecx, esi
call fcn.00662da0
push edi
push 1
mov ecx, esi
call fcn.006631a0
mov al, 1
jmp 0x66ff53
mov ecx, dword [0x93c97c]
push 1
push edi
call fcn.00462d30
mov ecx, dword [0x93c97c]
mov ecx, dword [ecx + 0xb40]
test ecx, ecx
je 0x66f875
push 1
push edi
call fcn.00462d30
mov byte [esi + 0x268], 1
mov ecx, dword [0x93c97c]
fld dword [ecx + 0x33c]
fcomp dword [0x765614]
fnstsw ax
test ah, 0x41
je 0x66f8a6
push 1
push 1
mov ecx, esi
call fcn.00662da0
mov ecx, dword [0x93c97c]
mov edx, dword [ecx + 0x454]
push edx
call fcn.004718d0
mov al, 1
jmp 0x66ff53
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x66ff4d
mov ecx, dword [0x93c97c]
mov eax, dword [ecx + 0x4ac]
cmp eax, 0x753a
je 0x66f8f8
cmp eax, 0x7558
je 0x66f8f8
cmp eax, 0x7562
je 0x66f8f8
cmp eax, 0x756c
je 0x66f8f8
cmp eax, 0x756d
jne 0x66fcca
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 + 0x118]
mov ecx, dword [ecx + 0xc]
push eax
mov dword [esp + 0x8c], ecx
call fcn.00700956
mov al, byte [0x93f94c]
test al, 1
jne 0x66f94f
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f94c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x144]
fadd dword [esp + 0x134]
mov ecx, dword [0x93c97c]
mov dword [0x93f950], 0
mov dword [0x93f954], 0
mov dword [0x93f958], 0x3f800000
lea edx, [ecx + 0x98]
fstp dword [esp + 0x14]
fld dword [esp + 0x148]
fadd dword [esp + 0x138]
mov eax, dword [edx]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 4]
fstp dword [esp + 0x18]
fld dword [esp + 0x14c]
fadd dword [esp + 0x13c]
mov edx, dword [edx + 8]
mov dword [esp + 0x3c], 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 [0x76d414]
fmul dword [0x765eb8]
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 + 0x4ac]
mov dword [esp + 0x40], edx
cmp eax, 0x756c
jne 0x66fa9d
call fcn.004654f0
fmul dword [0x765810]
jmp 0x66faa2
call fcn.004654f0
fstp dword [esp + 0x54]
xor ebp, ebp
lea esi, [esp + 0x174]
mov dword [esp + 0x24], ebp
fild dword [esp + 0x24]
push ecx
lea eax, [esp + 0x8c]
fmul dword [esp + 0x24]
fstp dword [esp]
push eax
call fcn.007008db
mov al, byte [0x93f95c]
test al, 1
jne 0x66faed
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x88]
fmul dword [esp + 0x14]
fld dword [esp + 0x18]
fmul dword [esp + 0x98]
lea edi, [esi - 8]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0xa8]
faddp st(1)
fadd dword [esp + 0xb8]
fstp dword [0x93f960]
fld dword [esp + 0x8c]
fmul dword [esp + 0x14]
fld dword [esp + 0x18]
fmul dword [esp + 0x9c]
mov ecx, dword [0x93f960]
mov dword [esp + 0x44], ecx
mov dword [edi], ecx
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0xac]
faddp st(1)
fadd dword [esp + 0xbc]
fstp dword [0x93f964]
fld dword [esp + 0x90]
fmul dword [esp + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0xb0]
mov edx, dword [0x93f964]
mov dword [esp + 0x48], edx
mov dword [esi - 4], edx
faddp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0xa0]
faddp st(1)
fadd dword [esp + 0xc0]
fstp dword [0x93f968]
mov eax, dword [0x93f968]
mov dword [esp + 0x4c], eax
mov dword [esi], eax
mov al, byte [0x93f93c]
test al, 1
jne 0x66fbcb
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f93c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x54]
fmul dword [edi]
fstp dword [0x93f940]
fld dword [esp + 0x54]
fmul dword [esi - 4]
mov ecx, dword [0x93f940]
mov dword [esp + 0x28], ecx
fstp dword [0x93f944]
fld dword [esp + 0x54]
fmul dword [esi]
mov edx, dword [0x93f944]
mov dword [esp + 0x2c], edx
fstp dword [0x93f948]
mov eax, dword [0x93f948]
mov dword [esp + 0x30], eax
mov al, byte [0x93f914]
test al, 1
jne 0x66fc2e
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f914], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fadd dword [esp + 0x38]
push 1
push 0
fstp dword [0x93f920]
fld dword [esp + 0x44]
fadd dword [esp + 0x34]
mov ecx, dword [0x93f920]
mov dword [esp + 0x80], ecx
mov ecx, dword [0x93c974]
fstp dword [0x93f924]
fld dword [esp + 0x48]
fadd dword [esp + 0x38]
mov edx, dword [0x93f924]
mov dword [esp + 0x84], edx
fstp dword [0x93f928]
mov eax, dword [0x93f928]
mov dword [esp + 0x88], eax
mov ecx, dword [ecx + 0x1c]
lea eax, [esp + 0x168]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x70]
push eax
push 0x3f800000
lea eax, [esp + 0x8c]
push edi
push eax
call dword [edx + 0x60]
test al, al
jne 0x66ff51
inc ebp
add esi, 0xc
cmp ebp, 8
mov dword [esp + 0x24], ebp
jl 0x66fab3
mov ecx, dword [0x93c97c]
mov esi, dword [esp + 0x50]
push 1
push esi
call fcn.00462c70
mov ecx, dword [0x93c97c]
mov ecx, dword [ecx + 0xb40]
test ecx, ecx
je 0x66fcee
push 1
push esi
call fcn.00462c70
mov edx, dword [0x93c974]
mov ecx, dword [edx + 0x1c]
lea edx, [esp + 0x58]
push edx
mov edx, dword [esp + 0x1e4]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x1e4]
push edx
call dword [eax + 0x34]
mov eax, dword [0x93c974]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x5c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x64]
test al, al
je 0x66fd50
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [0x93c97c]
lea eax, [ecx + 0x98]
mov edx, eax
mov esi, dword [edx]
mov dword [esp + 0x78], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x7c], esi
mov edx, dword [edx + 8]
mov dword [esp + 0x80], edx
mov edx, esi
mov dword [esp + 0x5c], edx
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov al, byte [0x93f97c]
test al, 1
jne 0x66fdb6
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f97c], dl
call fcn.00726f2f
mov ecx, dword [0x93c97c]
add esp, 4
fld dword [esp + 0x58]
fsub dword [esp + 0x28]
fstp dword [0x93f980]
fld dword [esp + 0x5c]
fsub dword [esp + 0x2c]
mov edx, dword [0x93f980]
mov dword [esp + 0x38], edx
fstp dword [0x93f984]
fld dword [esp + 0x60]
fsub dword [esp + 0x30]
mov eax, dword [0x93f984]
mov dword [esp + 0x3c], eax
fstp dword [0x93f988]
fld dword [esp + 0x38]
mov edx, dword [0x93f988]
mov al, byte [ecx + 0xb1c]
fmul dword [esp + 0x38]
mov dword [esp + 0x40], edx
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
test al, al
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fsqrt
fstp dword [esp + 0x24]
jne 0x66fe54
fld dword [esp + 0x24]
fcomp dword [0x766378]
fnstsw ax
test ah, 0x41
jne 0x66fe8a
mov ecx, dword [esp + 0x34]
push 1
push 1
mov byte [ecx + 0x268], 1
call fcn.00662da0
mov ecx, dword [0x93c97c]
fld dword [esp + 0x24]
fcomp dword [0x766378]
fnstsw ax
test ah, 0x41
jne 0x66fe8a
mov edx, dword [esp + 0x58]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], edx
call fcn.004718f0
mov al, 1
jmp 0x66ff53
mov al, byte [ecx + 0xb1c]
test al, al
je 0x66ff4d
mov ecx, dword [esp + 0x34]
push 1
push 0
call fcn.00662da0
mov al, 1
jmp 0x66ff53
cmp eax, 4
je 0x66ff4d
cmp eax, 5
je 0x66ff4d
test edi, edi
je 0x66ff4d
test ebx, ebx
jne 0x66fed2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x66ff4d
mov al, byte [esp + 0x13]
test al, al
je 0x66fefd
mov al, byte [ecx + 0xb1c]
test al, al
je 0x66feef
push 1
push 0
mov ecx, esi
call fcn.00662da0
push edi
push 1
mov ecx, esi
call fcn.006631a0
mov al, 1
jmp 0x66ff53
mov byte [ecx + 0xae9], 0
mov ecx, dword [0x93c97c]
call fcn.00474b10
test al, al
jne 0x66ff4d
mov ecx, dword [0x93c97c]
push 0
call fcn.00469970
test eax, eax
je 0x66ff34
mov ecx, dword [eax + 0x2fc]
cmp ecx, 4
je 0x66ff4d
cmp ecx, 5
je 0x66ff4d
push eax
mov eax, dword [0x93c97c]
mov cl, byte [eax + 0xae9]
test cl, cl
sete cl
push ecx
mov ecx, esi
call fcn.006631a0
mov al, 1
jmp 0x66ff53
xor al, al
mov ecx, dword [esp + 0x1cc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1c8
ret 0x10