Function at 0x480c50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x19c
cmp dword [edx + 0x40], 1
fld qword [esp + 0x1b0]
mov dword [esp + 0xc8], edx
fstp qword [esp + 0x60]
fld qword [esp + 0x1b8]
fstp qword [esp + 0x58]
fld qword [esp + 0x1c0]
fstp qword [esp + 0x68]
jne 0x4817a0
cmp dword [eax], 3
mov ebp, eax
ja 0x4817a0
mov edx, dword [0x7b348c]
lea eax, [edx + edx]
mov dword [esp + 0x70], edx
mov dword [esp + 0x80], eax
cmp eax, 0x7f
jg 0x4817a0
mov dword [esp + 4], 0
mov esi, ecx
mov dword [esp], 1
call fcn.00688a10
mov ebx, dword [ebp]
fld qword [0x77b248]
fld qword [esp + 0x58]
mov dword [esp + 0x54], eax
cmp ebx, 2
fmul st(1)
fld qword [esp + 0x68]
je 0x4817b0
cmp ebx, 3
mov edx, dword [esp + 0x70]
je 0x4814d8
cmp ebx, 1
jne 0x481118
fld qword [ebp + 8]
fmul st(3)
fst qword [esp + 0x78]
fld qword [ebp + 0x10]
fmul st(4)
fld qword [0x77b270]
fld qword [ebp + 0x20]
fmul st(1)
fxch st(1)
fmul qword [ebp + 0x28]
fld qword [ebp + 0x48]
fstp qword [esp + 0x80]
fxch st(1)
fcomi st(1)
fld st(0)
fcmovnbe st(0), st(2)
fstp qword [esp + 0x88]
fxch st(5)
fsubp st(3)
fxch st(3)
fmul st(5)
fxch st(5)
fmul qword [esp + 0x60]
jbe 0x481db0
fld st(3)
fsub st(6)
fstp qword [esp + 0x70]
fxch st(1)
fadd st(5)
fld st(4)
fchs
fxch st(6)
fsubrp st(4)
fld qword [esp + 0x70]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x40], esi
fst qword [esp + 0xd0]
fxch st(2)
fst qword [esp + 0x130]
fxch st(2)
fstp qword [esp + 0xd8]
fst qword [esp + 0x138]
fxch st(4)
fst qword [esp + 0xe0]
fxch st(4)
fst qword [esp + 0x140]
fxch st(4)
fstp qword [esp + 0xe8]
fxch st(1)
fst qword [esp + 0x148]
fxch st(4)
fst qword [esp + 0xf0]
fxch st(4)
fstp qword [esp + 0x150]
fxch st(3)
fstp qword [esp + 0xf8]
fxch st(1)
fst qword [esp + 0x158]
fxch st(1)
fst qword [esp + 0x100]
fxch st(1)
fstp qword [esp + 0x160]
fstp qword [esp + 0x108]
fst qword [esp + 0x168]
fstp qword [esp + 0x90]
fld qword [eax + 0x60]
fstp qword [esp + 0x38]
fld qword [eax + 0x58]
fstp qword [esp + 0x30]
fld qword [eax + 0x28]
fstp qword [esp + 0x28]
fld qword [eax + 0x50]
fstp qword [esp + 0x20]
fld qword [eax + 0x20]
fstp qword [esp + 0x18]
fld qword [eax + 0x18]
fstp qword [esp + 0x10]
fld qword [eax + 0xd0]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call fcn.004a7a20
mov ebx, eax
test eax, eax
je 0x4817a0
mov edi, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068c9c0
mov dword [esp + 4], ebx
mov ebx, 2
mov dword [esp], 1
call fcn.00686c50
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 0x68], eax
call fcn.0068cbf0
fld qword [esp + 0x90]
mov dword [esp], 1
fstp qword [esp + 0xc]
fld qword [esp + 0x70]
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp], edi
mov dword [esp + 4], eax
mov esi, eax
mov edi, esi
call fcn.0068c560
mov dword [esp + 0x70], esi
mov dword [esp + 0x90], ebp
jmp 0x480f2f
fld qword [esp + ebx*8 + 0x128]
lea esi, [ebx + 1]
fstp qword [esp + 0xc]
fld qword [esp + ebx*8 + 0xc8]
mov dword [esp], ebx
fstp qword [esp + 4]
call fcn.00685c60
mov ebx, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
fldz
mov dword [esp], ebp
fstp qword [esp + 0xc]
call fcn.00685f90
mov edi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c790
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edi
mov edi, ebx
mov ebx, esi
mov dword [esp], eax
call fcn.00686610
lea ebp, [ebx - 1]
cmp ebx, 9
jne 0x480ec0
mov esi, dword [esp + 0x70]
fldz
mov ebp, dword [esp + 0x90]
mov dword [esp + 4], edi
mov dword [esp], 8
mov dword [esp + 8], esi
fstp qword [esp + 0xc]
call fcn.00685f90
mov dword [esp + 4], eax
mov esi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c790
mov eax, dword [esp + 0x68]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00686610
fld qword [0x77b278]
fld qword [esp + 0x60]
fcompi st(1)
fld qword [esp + 0x58]
seta dl
fcompi st(1)
fstp st(0)
fld qword [0x77b248]
fld qword [esp + 0x80]
seta al
or dl, al
fmul st(1)
fld qword [esp + 0x88]
mov byte [esp + 0x60], dl
fld st(0)
fsub st(2)
fld qword [ebp + 0x40]
fmul st(4)
fsubr qword [esp + 0x78]
fxch st(3)
fsubrp st(2)
fxch st(3)
fmul qword [ebp + 0x38]
jne 0x481e50
fxch st(3)
fstp qword [esp + 0xd0]
fxch st(1)
fstp qword [esp + 0x130]
fstp qword [esp + 0xd8]
fstp qword [esp + 0x138]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xc8]
xor esi, esi
mov eax, esi
mov ecx, dword [esp + 0x1c8]
lea edi, [esi + 2]
neg eax
and eax, 0x70
add eax, dword [ebp + 0x4c]
mov dword [esp + 0x30], ecx
fld qword [eax + 0x38]
fstp qword [esp + 0x28]
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x28]
fstp qword [esp + 0x18]
fld qword [eax + 0x68]
fstp qword [esp + 0x10]
fld qword [eax + 0x60]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004a7b80
test eax, eax
je 0x4817a0
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov edx, dword [esp + 0x58]
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00686b40
mov dword [esp + 4], eax
mov edi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
fld qword [esp + esi*8 + 0x130]
lea ecx, [ebx + 1]
mov dword [esp + 0xc8], ecx
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xd0]
mov dword [esp], ebx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0xc8]
jne 0x481f38
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
jne 0x481cc0
mov ebx, ecx
mov esi, 1
jmp 0x480ffd
fld qword [0x77b270]
fld qword [ebp + 0x20]
mov ecx, dword [esp + 0xc8]
fmul st(1)
mov eax, dword [ecx + 0x48]
fst qword [esp + 0x70]
fld qword [ebp + 8]
fmulp st(2)
fxch st(1)
fst qword [esp + 0x78]
fld qword [ebp + 0x48]
mov dword [esp + 0x40], esi
fstp qword [esp + 0x80]
fxch st(2)
fmul st(4)
fld st(1)
fsub st(1)
fst qword [esp + 0xd0]
fxch st(4)
fsubr st(3)
fst qword [esp + 0x130]
fxch st(1)
fsubrp st(2)
fxch st(1)
fst qword [esp + 0xd8]
fxch st(1)
fst qword [esp + 0x138]
fstp qword [esp + 0x90]
fstp qword [esp + 0xe0]
fxch st(2)
fmul qword [esp + 0x60]
fsubrp st(2)
fxch st(1)
fst qword [esp + 0x140]
fxch st(1)
fst qword [esp + 0xe8]
fstp qword [esp + 0x88]
fstp qword [esp + 0x148]
fld qword [eax + 0x60]
fstp qword [esp + 0x38]
fld qword [eax + 0x58]
fstp qword [esp + 0x30]
fld qword [eax + 0x28]
fstp qword [esp + 0x28]
fld qword [eax + 0x50]
fstp qword [esp + 0x20]
fld qword [eax + 0x20]
fstp qword [esp + 0x18]
fld qword [eax + 0x18]
fstp qword [esp + 0x10]
fld qword [eax + 0xd0]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call fcn.004a7a20
mov ebx, eax
test eax, eax
je 0x4817a0
mov esi, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0068c9c0
mov dword [esp + 4], ebx
mov ebx, 2
mov dword [esp], 1
call fcn.00686c50
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 0x68], eax
call fcn.0068cbf0
fld qword [esp + 0x90]
mov dword [esp], 1
fstp qword [esp + 0xc]
fld qword [esp + 0x88]
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp], esi
mov dword [esp + 4], eax
mov edi, eax
call fcn.0068c560
mov dword [esp + 0x90], ebp
lea ebp, [ebx - 1]
mov dword [esp + 0x88], edi
cmp ebx, 5
je 0x4812f0
fld qword [esp + ebx*8 + 0x128]
lea esi, [ebx + 1]
fstp qword [esp + 0xc]
fld qword [esp + ebx*8 + 0xc8]
mov dword [esp], ebx
fstp qword [esp + 4]
call fcn.00685c60
mov ebx, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
fldz
mov dword [esp], ebp
fstp qword [esp + 0xc]
call fcn.00685f90
mov edi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c790
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edi
mov edi, ebx
mov ebx, esi
mov dword [esp], eax
lea ebp, [ebx - 1]
call fcn.00686610
cmp ebx, 5
jne 0x481279
mov esi, edi
mov edi, dword [esp + 0x88]
fldz
mov dword [esp], 4
mov dword [esp + 4], esi
mov ebp, dword [esp + 0x90]
mov dword [esp + 8], edi
fstp qword [esp + 0xc]
call fcn.00685f90
mov dword [esp + 4], eax
mov edi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c790
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00686610
fld qword [0x77b278]
fld qword [esp + 0x60]
fcompi st(1)
fld qword [esp + 0x58]
seta dl
fcompi st(1)
fstp st(0)
fld qword [0x77b248]
fld qword [ebp + 0x40]
seta al
or dl, al
fmul st(1)
fld qword [esp + 0x78]
mov byte [esp + 0x60], dl
fsubr st(1), st(0)
fld qword [ebp + 0x38]
fmul st(3)
fsubrp st(1)
fxch st(2)
fmul qword [esp + 0x80]
fld qword [esp + 0x70]
fld st(0)
fsub st(2)
fxch st(2)
fsubrp st(1)
jne 0x481e00
fxch st(1)
fstp qword [esp + 0xd0]
fxch st(1)
fstp qword [esp + 0x130]
fstp qword [esp + 0xd8]
fstp qword [esp + 0x138]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xc8]
xor esi, esi
mov eax, esi
mov ecx, dword [esp + 0x1c8]
lea edi, [esi + 2]
neg eax
and eax, 0x70
add eax, dword [ebp + 0x4c]
mov dword [esp + 0x30], ecx
fld qword [eax + 0x38]
fstp qword [esp + 0x28]
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x28]
fstp qword [esp + 0x18]
fld qword [eax + 0x68]
fstp qword [esp + 0x10]
fld qword [eax + 0x60]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004a7b80
test eax, eax
je 0x4817a0
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov edx, dword [esp + 0x58]
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00686b40
mov dword [esp + 4], eax
mov edi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
fld qword [esp + esi*8 + 0x130]
lea ecx, [ebx + 1]
mov dword [esp + 0xc8], ecx
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xd0]
mov dword [esp], ebx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0xc8]
jne 0x481ec8
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
jne 0x481cc0
mov ebx, ecx
mov esi, 1
jmp 0x4813bc
fstp st(0)
fld qword [ebp + 8]
fmul st(2)
fstp qword [esp + 0x60]
fld qword [ebp + 0x10]
fst qword [esp + 0xb0]
fmul st(2)
fst qword [esp + 0xa0]
fxch st(2)
fmul qword [ebp + 0x40]
fstp qword [esp + 0x90]
fld qword [ebp + 0x38]
fstp qword [esp + 0xb8]
fldz
fld st(0)
fxch st(3)
fcompi st(3)
fstp st(2)
jbe 0x481fa8
fstp st(1)
fld qword [0x77b240]
fstp qword [esp + 0xc0]
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0xc8]
fstp qword [esp + 0x70]
fild dword [esp + 0x58]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x40], esi
mov dword [esp + 0x68], edx
fst qword [esp + 0xa8]
fdivr qword [0x77b250]
fstp qword [esp + 0x78]
fld qword [eax + 0x60]
fstp qword [esp + 0x38]
fld qword [eax + 0x58]
fstp qword [esp + 0x30]
fld qword [eax + 0x28]
fstp qword [esp + 0x28]
fld qword [eax + 0x50]
fstp qword [esp + 0x20]
fld qword [eax + 0x20]
fstp qword [esp + 0x18]
fld qword [eax + 0x18]
fstp qword [esp + 0x10]
fld qword [eax + 0xd0]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call fcn.004a7a20
mov edi, eax
test eax, eax
je 0x4817a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov dword [esp], 1
fldz
fst qword [esp + 0xc]
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov esi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
fld qword [esp + 0x70]
fsubr qword [esp + 0x60]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 1
fstp qword [esp + 0xc]
call fcn.006866f0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
mov edx, dword [esp + 0x68]
fldz
fld qword [esp + 0xa0]
fcomi st(1)
fstp st(1)
ja 0x4821a8
fstp st(0)
mov ebx, 2
xor edi, edi
test edx, edx
jle 0x48220c
fld qword [esp + 0xa8]
fdivr dword [0x77b258]
xor edi, edi
mov dword [esp + 0x58], 0
mov dword [esp + 0xcc], ebp
mov esi, dword [esp + 0xc8]
fstp qword [esp + 0x88]
fld qword [esp + 0x60]
fsub qword [esp + 0x90]
mov dword [esp + 0x60], edx
fstp qword [esp + 0x98]
jmp 0x481735
mov dword [esp + 4], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov edx, dword [esp + 0x70]
mov dword [esp], ebx
lea ecx, [ebx + 1]
mov dword [esp + 0x68], ecx
mov dword [esp + 4], edx
call fcn.00686b40
mov dword [esp + 4], eax
mov ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
mov dword [esp + 0x70], edi
fild dword [esp + 0x70]
fmul qword [esp + 0x78]
mov dword [esp], ebp
fsincos
fld qword [esp + 0x98]
fmul st(2), st(0)
fxch st(2)
fstp qword [esp + 0xc]
fmulp st(1)
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov ebp, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00686490
fld qword [esp + 0x88]
fstp qword [edi*8 + 0x8426c0]
add edi, 1
cmp dword [esp + 0x60], edi
jle 0x481fc0
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
cmp eax, dword [esi + 0x44]
mov dword [esp + 0x90], edi
lea ebp, [edi + 2]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c8]
cmovle eax, edi
mov dword [esp + 0x58], eax
imul eax, eax, 0x70
add eax, dword [esi + 0x4c]
mov dword [esp + 0x30], ecx
fld qword [eax + 0x38]
fstp qword [esp + 0x28]
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x28]
fstp qword [esp + 0x18]
fld qword [eax + 0x68]
fstp qword [esp + 0x10]
fld qword [eax + 0x60]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call fcn.004a7b80
test eax, eax
jne 0x481680
lea esi, [esi]
mov dword [esp + 0x54], 0
jmp 0x481da1
fld qword [ebp + 8]
fmul st(3)
fstp qword [esp + 0x80]
fld qword [ebp + 0x10]
fmul st(3)
fld qword [ebp + 0x18]
fmul st(4)
fld qword [0x77b270]
fld qword [ebp + 0x20]
fmul st(1)
fld qword [ebp + 0x28]
fmul st(2)
fxch st(2)
fmul qword [ebp + 0x30]
fstp qword [esp + 0x68]
fld qword [ebp + 0x48]
fstp qword [esp + 0x90]
fxch st(4)
fmul st(6)
fld st(1)
fsub st(1)
fst qword [esp + 0xd0]
fxch st(7)
fmul qword [esp + 0x60]
fst qword [esp + 0x130]
fxch st(7)
fst qword [esp + 0x78]
fstp qword [esp + 0xd8]
fsub st(3), st(0)
fxch st(3)
fst qword [esp + 0x138]
fxch st(4)
fst qword [esp + 0x88]
fsub st(3)
fst qword [esp + 0xe0]
fxch st(4)
fst qword [esp + 0x140]
fxch st(4)
fstp qword [esp + 0xe8]
fld qword [esp + 0x80]
fld st(0)
fadd st(4)
fsubrp st(3)
fxch st(2)
fst qword [esp + 0x148]
fld qword [esp + 0x68]
fsub st(4)
fst qword [esp + 0xf0]
fxch st(1)
fst qword [esp + 0x150]
fxch st(1)
fstp qword [esp + 0xf8]
fxch st(5)
fsubp st(2)
fxch st(1)
fst qword [esp + 0x158]
fld qword [esp + 0x68]
fsubr st(3)
fst qword [esp + 0x100]
fxch st(1)
fstp qword [esp + 0x160]
fstp qword [esp + 0x108]
fxch st(3)
fst qword [esp + 0x168]
fld qword [esp + 0x88]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x40], esi
fadd st(2)
fchs
fst qword [esp + 0x110]
fxch st(1)
fstp qword [esp + 0x170]
fstp qword [esp + 0x118]
fxch st(1)
fst qword [esp + 0x178]
fxch st(2)
faddp st(1)
fchs
fst qword [esp + 0x120]
fxch st(1)
fstp qword [esp + 0x180]
fstp qword [esp + 0x128]
fst qword [esp + 0x188]
fstp qword [esp + 0x68]
fld qword [eax + 0x60]
fstp qword [esp + 0x38]
fld qword [eax + 0x58]
fstp qword [esp + 0x30]
fld qword [eax + 0x28]
fstp qword [esp + 0x28]
fld qword [eax + 0x50]
fstp qword [esp + 0x20]
fld qword [eax + 0x20]
fstp qword [esp + 0x18]
fld qword [eax + 0x18]
fstp qword [esp + 0x10]
fld qword [eax + 0xd0]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call fcn.004a7a20
mov esi, eax
test eax, eax
je 0x4817a0
mov edi, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068c9c0
mov dword [esp + 4], esi
mov esi, edi
mov dword [esp], 1
call fcn.00686c50
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 0x70], eax
call fcn.0068cbf0
fld qword [esp + 0x68]
mov dword [esp], 1
fstp qword [esp + 0xc]
fld qword [esp + 0x78]
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp], esi
mov dword [esp + 4], eax
mov edi, eax
mov dword [esp + 0x78], eax
call fcn.0068c560
mov ecx, edi
mov dword [esp + 0x98], ebp
mov edx, ebx
mov edi, 1
mov ebp, ecx
lea esi, [esi]
cmp edi, 7
jg 0x481a54
fld qword [esp + edi*8 + 0x130]
lea eax, [edx + 1]
lea ebx, [edi + 1]
mov dword [esp + 0x68], eax
fstp qword [esp + 0xc]
fld qword [esp + edi*8 + 0xd0]
mov dword [esp], edx
fstp qword [esp + 4]
call fcn.00685c60
mov esi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov dword [esp + 4], ebp
mov ebp, esi
mov dword [esp], edi
fldz
mov dword [esp + 8], esi
fstp qword [esp + 0xc]
call fcn.00685f90
mov edi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c790
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], edi
mov edi, ebx
mov dword [esp], ecx
call fcn.00686610
mov edx, dword [esp + 0x68]
cmp edi, 7
jle 0x4819d5
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebp
fldz
lea ebx, [edi + 1]
mov dword [esp], edi
mov dword [esp + 8], eax
fstp qword [esp + 0xc]
mov dword [esp + 0x68], edx
call fcn.00685f90
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], eax
mov esi, eax
mov dword [esp], ecx
call fcn.0068c790
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], esi
mov dword [esp], ecx
call fcn.00686610
cmp ebx, 0xd
mov edx, dword [esp + 0x68]
je 0x481ab0
mov ebp, dword [esp + 0x78]
mov edi, ebx
jmp 0x4819d0
fld qword [0x77b278]
fld qword [esp + 0x60]
mov ebx, edx
mov ebp, dword [esp + 0x98]
fcompi st(1)
fld qword [esp + 0x58]
seta dl
fcompi st(1)
fstp st(0)
fld qword [0x77b248]
fld qword [esp + 0x90]
seta al
or dl, al
fmul st(1)
fld qword [esp + 0x88]
mov byte [esp + 0x60], dl
fld st(0)
fsub st(2)
fld qword [ebp + 0x40]
fmul st(4)
fsubr qword [esp + 0x80]
fxch st(3)
fsubrp st(2)
fxch st(3)
fmul qword [ebp + 0x38]
fxch st(3)
fst qword [esp + 0xd0]
fxch st(2)
fst qword [esp + 0x130]
fxch st(1)
fst qword [esp + 0xd8]
fxch st(3)
fst qword [esp + 0x138]
jne 0x481dd8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xc8]
xor esi, esi
mov eax, esi
mov ecx, dword [esp + 0x1c8]
lea edi, [esi + 2]
neg eax
and eax, 0x70
add eax, dword [ebp + 0x4c]
mov dword [esp + 0x30], ecx
fld qword [eax + 0x38]
fstp qword [esp + 0x28]
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x28]
fstp qword [esp + 0x18]
fld qword [eax + 0x68]
fstp qword [esp + 0x10]
fld qword [eax + 0x60]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004a7b80
test eax, eax
je 0x4817a0
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov edx, dword [esp + 0x58]
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00686b40
mov dword [esp + 4], eax
mov edi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
fld qword [esp + esi*8 + 0x130]
lea ecx, [ebx + 1]
mov dword [esp + 0xc8], ecx
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xd0]
mov dword [esp], ebx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0xc8]
jne 0x481c58
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
jne 0x481cc0
mov ebx, ecx
mov esi, 1
jmp 0x481b47
fld qword [esp + esi*8 + 0x140]
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xe0]
mov dword [esp], ecx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
je 0x481ea0
lea esi, [esi]
nop
mov eax, dword [esp + 0x1cc]
mov ebp, dword [esp + 0x68]
mov edi, 2
mov dword [eax], 2
mov esi, dword [esp + 0x54]
test esi, esi
je 0x4817a0
mov eax, dword [0x841900]
test eax, eax
je 0x481da1
test byte [esp + 0x1d0], 1
je 0x481da1
xor edx, edx
cmp dword [ebp], 3
je 0x481eb0
lea ecx, [esp + 0x130]
mov dword [esp], eax
mov ebx, 0x3a
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x130], 0x69656827
mov dword [esp + 0x134], 0x277265e1
mov dword [esp + 0x138], 0x65755120
mov dword [esp + 0x13c], 0x68637372
mov dword [esp + 0x140], 0x7474696e
mov word [esp + 0x144], bx
mov dword [0x850384], 0
call fcn.004f4930
mov eax, dword [0x841900]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [0x841900], 0
mov eax, dword [esp + 0x54]
add esp, 0x19c
pop ebx
pop esi
pop edi
pop ebp
ret
fxch st(1)
fsub st(5)
fld st(5)
fsub st(5)
fld st(4)
fchs
fxch st(6)
fsubrp st(7)
fxch st(4)
fstp qword [esp + 0x70]
fxch st(3)
fxch st(5)
fxch st(4)
fxch st(3)
jmp 0x480d5f
fxch st(3)
fstp qword [esp + 0xe0]
fstp qword [esp + 0x140]
fstp qword [esp + 0xe8]
fstp qword [esp + 0x148]
jmp 0x481b3a
fxch st(1)
fst qword [esp + 0xd0]
fxch st(2)
fst qword [esp + 0x130]
fxch st(1)
fst qword [esp + 0xd8]
fxch st(3)
fst qword [esp + 0x138]
fxch st(3)
fstp qword [esp + 0xe0]
fstp qword [esp + 0x140]
fstp qword [esp + 0xe8]
fstp qword [esp + 0x148]
jmp 0x4813af
fxch st(3)
fst qword [esp + 0xd0]
fxch st(2)
fst qword [esp + 0x130]
fxch st(1)
fst qword [esp + 0xd8]
fxch st(3)
fst qword [esp + 0x138]
fxch st(3)
fstp qword [esp + 0xe0]
fstp qword [esp + 0x140]
fstp qword [esp + 0xe8]
fstp qword [esp + 0x148]
jmp 0x480ff0
lea ecx, [ebx + 2]
jmp 0x481c48
fldz
fld qword [ebp + 0x10]
xor edx, edx
fcompi st(1)
fstp st(0)
seta dl
jmp 0x481d09
fld qword [esp + esi*8 + 0x140]
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xe0]
mov dword [esp], ecx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
jne 0x481cc0
lea ecx, [ebx + 2]
jmp 0x4814c5
fld qword [esp + esi*8 + 0x140]
fstp qword [esp + 0xc]
fld qword [esp + esi*8 + 0xe0]
mov dword [esp], ecx
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov edx, dword [esp + 0x58]
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00686490
fld1
fstp qword [esi*8 + 0x8426c0]
test esi, esi
jne 0x481cc0
lea ecx, [ebx + 2]
jmp 0x481106
fxch st(1)
fstp qword [esp + 0xc0]
jmp 0x48152b
mov ebx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0xcc]
add ebx, 3
fld qword [0x77b260]
fld qword [esp + 0xb0]
fcompi st(1)
fstp st(0)
jbe 0x48220c
mov eax, dword [esp + 0xc8]
xor ecx, ecx
fld qword [esp + 0xc0]
fdiv qword [esp + 0xa8]
mov eax, dword [eax + 0x44]
cmp edx, eax
setg cl
add dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x80]
cmp edx, ecx
jge 0x48221a
fld qword [esp + 0xb8]
fmul qword [0x77b248]
fxch st(1)
sub ebx, edx
mov dword [esp + 0x70], edx
fmul dword [0x77b268]
mov dword [esp + 0x60], ebx
mov ebx, edx
mov dword [esp + 0x98], ebp
mov edi, dword [esp + 0xc8]
fstp qword [esp + 0x88]
fadd qword [esp + 0xa0]
fstp qword [esp + 0x90]
jmp 0x482125
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c9c0
mov dword [esp + 4], esi
mov esi, dword [esp + 0xc8]
mov dword [esp], esi
call fcn.00686b40
mov dword [esp + 4], eax
mov esi, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
mov dword [esp + 0xc8], ebx
fild dword [esp + 0xc8]
fmul qword [esp + 0x78]
mov dword [esp], ebp
fsincos
fld qword [esp + 0x90]
fmul st(2), st(0)
fxch st(2)
fstp qword [esp + 0xc]
fmulp st(1)
fstp qword [esp + 4]
call fcn.00685c60
mov dword [esp + 4], eax
mov ebp, eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068c560
mov dword [esp + 8], 0xeb1c432d
mov dword [esp + 0xc], 0x3f1a36e2
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.00686490
fld qword [esp + 0x88]
fstp qword [ebx*8 + 0x8426c0]
add ebx, 1
cmp dword [esp + 0x80], ebx
je 0x4821fe
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
lea ebp, [ecx + ebx]
mov ecx, dword [esp + 0x70]
sub esi, ecx
cmp dword [esp + 0x80], eax
mov eax, dword [esp + 0x58]
lea ecx, [esi + ebx]
mov esi, dword [esp + 0x1c8]
cmovle eax, ebx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x58], eax
imul eax, eax, 0x70
add eax, dword [edi + 0x4c]
mov dword [esp + 0x30], esi
fld qword [eax + 0x38]
fstp qword [esp + 0x28]
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x28]
fstp qword [esp + 0x18]
fld qword [eax + 0x68]
fstp qword [esp + 0x10]
fld qword [eax + 0x60]
fstp qword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [edi]
mov dword [esp], eax
call fcn.004a7b80
mov esi, eax
test eax, eax
jne 0x482070
jmp 0x4817a0
mov dword [esp + 8], esi
fchs
mov dword [esp + 4], edi
mov dword [esp], 2
fstp qword [esp + 0xc]
mov dword [esp + 0x58], edx
call fcn.006866f0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0068cbf0
mov edx, dword [esp + 0x58]
test edx, edx
jg 0x481638
mov dword [esp + 0x68], 3
mov ebx, 2
xor edi, edi
mov dword [esp + 0x58], 0
jmp 0x481fd5
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x1cc]
mov dword [eax], edi
jmp 0x481cd6
fstp st(0)
mov edi, edx
jmp 0x48220c