Function at 0x979660
Capabilities:
Create thread
Move file
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa24
mov eax, dword [0x9f7274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x9c4], 0
push 0x208
push 0
lea eax, [ebp - 0x734]
push eax
call fcn.009b72a0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x734]
push ecx
push 0
call dword [0xa05810]
test eax, eax
je 0x97e99e
push 0x208
push 0
lea edx, [ebp - 0x52c]
push edx
call fcn.009b72a0
add esp, 0xc
lea eax, [ebp - 0x734]
mov dword [ebp - 0x9b4], eax
lea ecx, [ebp - 0x52c]
mov dword [ebp - 0x970], ecx
mov edx, dword [ebp - 0x970]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0x9b4]
mov cx, word [eax]
mov word [ebp - 0x90c], cx
mov edx, dword [ebp - 0x970]
mov ax, word [ebp - 0x90c]
mov word [edx], ax
mov ecx, dword [ebp - 0x9b4]
add ecx, 2
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x970]
add edx, 2
mov dword [ebp - 0x970], edx
cmp word [ebp - 0x90c], 0
jne 0x9796ec
push 0x2e
lea eax, [ebp - 0x52c]
push eax
call fcn.009b7537
add esp, 8
mov dword [ebp - 0x998], eax
mov ecx, 2
shl ecx, 1
mov edx, dword [ebp - 0x998]
movzx eax, word [edx + ecx]
cmp eax, 0x78
jne 0x97977c
mov ecx, 2
imul edx, ecx, 3
mov eax, dword [ebp - 0x998]
movzx ecx, word [eax + edx]
cmp ecx, 0x65
je 0x97b666
xorps xmm0, xmm0
movsd qword [ebp - 0x93c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x900], xmm0
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x96c], 0
mov dword [ebp - 0x934], 1
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x994], 0
mov dword [ebp - 0x7a4], 0
mov dword [ebp - 0x804], 0
mov dword [ebp - 0x7d4], 0
mov dword [ebp - 0x7d8], 0
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x7dc], 0
mov dword [ebp - 0x7e0], 0
mov dword [ebp - 0x7e4], 0
mov dword [ebp - 0x7e8], 0
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x968], 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 - 0x77f], 0
mov byte [ebp - 0x746], 0
mov byte [ebp - 0x744], 0
mov byte [ebp - 0x761], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x93c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x900], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x900], xmm0
jmp 0x9798d1
movsd xmm0, qword [ebp - 0x900]
addsd xmm0, qword [0x9d8058]
movsd qword [ebp - 0x900], xmm0
movsd xmm0, qword [0x9ecf18]
comisd xmm0, xmmword [ebp - 0x900]
jbe 0x979982
movsd xmm0, qword [0x9ecc80]
mulsd xmm0, qword [ebp - 0x900]
mulsd xmm0, qword [ebp - 0x900]
movsd xmm1, qword [ebp - 0x900]
mulsd xmm1, qword [ebp - 0x900]
subsd xmm0, xmm1
movsd xmm1, qword [0x9db7a8]
mulsd xmm1, qword [ebp - 0x900]
mulsd xmm1, qword [ebp - 0x900]
addsd xmm1, qword [0x9dbc78]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x93c]
movsd qword [ebp - 0x93c], xmm0
movsd xmm0, qword [ebp - 0x93c]
comisd xmm0, xmmword [0x9ecc48]
jbe 0x97997d
movsd xmm0, qword [0x9ecc08]
mulsd xmm0, qword [ebp - 0x900]
movsd xmm1, qword [ebp - 0x93c]
subsd xmm1, xmm0
movsd qword [ebp - 0x93c], xmm1
jmp 0x9798b9
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x93c]
jbe 0x9799b9
popal
jbe 0x9799b8
pop ebx
sub ah, byte [edi]
xor ecx, dword [esp + edx*2 + 0x34]
and al, 0x5f
sub esp, dword [ecx + 0x51]
push 0x75
inc ebp
outsd dx, dword [esi]
pop ebx
insd dword es:[edi], dx
jl 0x9799f6
popal
inc edi
push ebp
push 0xffffffffffffff84
insd dword es:[edi], dx
and byte [edi - 0x7c], 0x6d
jns 0x979a1c
sub ecx, 0x69
sbb eax, dword [eax]
add bh, al
test eax, edi
cmc
invalid
mov dword [ebp - 0xa08], 0x9799aa
mov dword [ebp - 0xa04], 0x97998f
mov edx, dword [ebp - 0xa08]
mov dword [ebp - 0x834], edx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], eax
mov byte [ebp - 0x77f], 0x1f
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x758], 0
jmp 0x979a1b
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 0x100
mov ebp, 0xfffff8a8
add byte [ecx], al
add byte [eax], al
jae 0x979a3c
mov edx, dword [ebp - 0x758]
mov al, byte [ebp - 0x758]
mov byte [ebp + edx - 0x224], al
jmp 0x979a0c
mov dword [ebp - 0x8a4], 0
mov byte [ebp - 0x747], 0
mov dword [ebp - 0x758], 0xff
jmp 0x979a68
mov ecx, dword [ebp - 0x758]
sub ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 0
jbe 0x979ce2
mov dword [ebp - 0x96c], 0
mov dword [ebp - 0x934], 1
mov dword [ebp - 0x830], 0
mov edx, dword [ebp - 0x934]
cmp edx, dword [ebp - 0x758]
jae 0x979ab3
mov eax, dword [ebp - 0x934]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x934], ecx
jmp 0x979a93
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x9e0], edx
cmp dword [ebp - 0x9e0], 3
ja case.default.0x979ad2
mov eax, dword [ebp - 0x9e0]
jmp dword [eax*4 + 0x97e9b8]
movzx ecx, byte [ebp - 0x747]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x93c]
call fcn.009b6220
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x979bbb
movzx edx, byte [ebp - 0x747]
movzx ebx, byte [ebp + edx - 0x224]
movsd xmm0, qword [ebp - 0x93c]
call fcn.009b6220
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x979bbb
movzx eax, byte [ebp - 0x747]
movzx ebx, byte [ebp + eax - 0x224]
movsd xmm0, qword [ebp - 0x93c]
call fcn.009b6220
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x979bbb
movzx ecx, byte [ebp - 0x747]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x93c]
call fcn.009b6220
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x747], bl
jmp 0x979bbb
movzx edx, byte [ebp - 0x747]
movzx eax, byte [ebp + edx - 0x224]
mov ecx, dword [ebp - 0xa00]
add ecx, dword [ebp - 0x8a4]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x747], al
mov eax, dword [ebp - 0x8a4]
add eax, 1
mov dword [ebp - 0x8a4], eax
movzx ecx, byte [ebp - 0x77f]
cmp dword [ebp - 0x8a4], ecx
jb 0x979bf9
mov dword [ebp - 0x8a4], 0
movzx edx, byte [ebp - 0x77f]
movzx eax, byte [ebp - 0x747]
add eax, edx
mov byte [ebp - 0x747], al
movzx ecx, byte [ebp - 0x747]
and ecx, dword [ebp - 0x934]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x96c]
add edx, 1
mov dword [ebp - 0x96c], edx
cmp dword [ebp - 0x96c], 0xb
jbe 0x979c38
mov eax, dword [ebp - 0x830]
xor edx, edx
div dword [ebp - 0x758]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x830]
cmp eax, dword [ebp - 0x758]
ja 0x979ab3
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [ebp - 0x830]
je 0x979cdd
mov edx, dword [ebp - 0x830]
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 - 0x830]
movzx ecx, byte [ebp + eax - 0x224]
xor ecx, edx
mov edx, dword [ebp - 0x830]
mov byte [ebp + edx - 0x224], cl
mov eax, dword [ebp - 0x830]
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 0x979a59
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 - 0x994], 0xa
cmp dword [ebp - 0x994], 2
jle 0x97b4d1
mov eax, dword [ebp - 0x994]
and eax, 1
jne 0x97b4d1
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x7a4], 0
mov ecx, dword [ebp - 0x7a4]
add ecx, 1
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x804], 0
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x804], edx
mov dword [ebp - 0x7d4], 0
mov eax, dword [ebp - 0x834]
add eax, dword [ebp - 0x804]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x7d8], 0
mov edx, dword [ebp - 0x7d8]
add edx, 0x66
mov dword [ebp - 0x7d8], edx
movsd xmm0, qword [0x9eced8]
movsd qword [ebp - 0x978], xmm0
movsd xmm0, qword [0x9ece98]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [0x9dff68]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [0x9ecdd0]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [0x9ecd50]
movsd qword [ebp - 0x9a8], xmm0
movsd xmm0, qword [0x9ecce0]
movsd qword [ebp - 0x988], xmm0
movsd xmm0, qword [ebp - 0x9a8]
mulsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x9a8], xmm0
movsd xmm0, qword [ebp - 0x954]
mulsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [ebp - 0x978]
subsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x978], xmm0
movsd xmm0, qword [ebp - 0x978]
subsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x978], xmm0
movsd xmm0, qword [ebp - 0x990]
mulsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [ebp - 0x8d8]
addsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [ebp - 0x990]
comisd xmm0, xmmword [ebp - 0x988]
jbe 0x979f8e
movsd xmm0, qword [ebp - 0x8d8]
mulsd xmm0, qword [ebp - 0x9a8]
movsd qword [ebp - 0x8d8], xmm0
mov dword [ebp - 0x808], 0
movsd xmm0, qword [ebp - 0x9a8]
subsd xmm0, qword [ebp - 0x978]
movsd qword [ebp - 0x9a8], xmm0
movsd xmm0, qword [ebp - 0x954]
addsd xmm0, qword [ebp - 0x988]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [ebp - 0x8d8]
mulsd xmm0, qword [ebp - 0x9a8]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [ebp - 0x990]
mulsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [ebp - 0x978]
addsd xmm0, qword [ebp - 0x8d8]
movsd qword [ebp - 0x978], xmm0
jmp 0x97a01e
movsd xmm0, qword [ebp - 0x954]
divsd xmm0, qword [ebp - 0x9a8]
movsd qword [ebp - 0x954], xmm0
movsd xmm0, qword [ebp - 0x8d8]
divsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [ebp - 0x990]
subsd xmm0, qword [ebp - 0x8d8]
movsd qword [ebp - 0x990], xmm0
movsd xmm0, qword [ebp - 0x8d8]
divsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [ebp - 0x978]
subsd xmm0, qword [ebp - 0x990]
movsd qword [ebp - 0x978], xmm0
movsd xmm0, qword [ebp - 0x8d8]
mulsd xmm0, qword [ebp - 0x954]
movsd qword [ebp - 0x8d8], xmm0
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x808], ecx
mov dword [ebp - 0x7dc], 0
mov edx, dword [ebp - 0x834]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
add eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7e0], 0
mov ecx, dword [ebp - 0x7e0]
add ecx, 0x79
mov dword [ebp - 0x7e0], ecx
mov dword [ebp - 0x7e4], 0
mov edx, dword [ebp - 0x7d4]
sub edx, dword [ebp - 0x7d8]
add edx, dword [ebp - 0x7e4]
mov dword [ebp - 0x7e4], edx
mov dword [ebp - 0x7e8], 0
mov eax, dword [ebp - 0x7dc]
sub eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x80c], 0
mov ecx, dword [ebp - 0x7e4]
shl ecx, 4
mov dword [ebp - 0x80c], ecx
mov dword [ebp - 0x810], 0
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x814], 0
mov eax, dword [ebp - 0x80c]
or eax, dword [ebp - 0x810]
mov dword [ebp - 0x814], eax
mov byte [ebp - 0x746], 0
mov cl, byte [ebp - 0x814]
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 0x97a294
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 - 0x7a4]
add edx, 1
mov dword [ebp - 0x7a4], edx
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x804], eax
movss xmm0, dword [0x9ecfe0]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [0x9ecfc8]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [0x9ecfac]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [0x9ecf80]
movss dword [ebp - 0x8dc], xmm0
movss xmm0, dword [0x9e2018]
movss dword [ebp - 0x8c0], xmm0
movss xmm0, dword [ebp - 0x79c]
addss xmm0, dword [ebp - 0x8c0]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x8dc]
subss xmm0, dword [ebp - 0x8c0]
movss dword [ebp - 0x8dc], xmm0
movss xmm0, dword [ebp - 0x800]
addss xmm0, dword [ebp - 0x8c0]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x870]
mulss xmm0, dword [ebp - 0x8c0]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x8c0]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x79c]
comiss xmm0, dword [ebp - 0x8dc]
jbe 0x97a42c
mov ecx, dword [ebp - 0x834]
add ecx, dword [ebp - 0x804]
movzx edx, byte [ecx]
mov dword [ebp - 0x7d4], edx
movss xmm0, dword [ebp - 0x8c0]
mulss xmm0, dword [ebp - 0x870]
movss dword [ebp - 0x8c0], xmm0
movss xmm0, dword [ebp - 0x870]
subss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x800]
mulss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
jmp 0x97a4a4
movss xmm0, dword [ebp - 0x870]
subss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x800]
addss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x870]
divss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x800]
subss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x800], xmm0
mov dword [ebp - 0x7d8], 0x66
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x834]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7e0], 0x79
mov ecx, dword [ebp - 0x7d4]
sub ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7e4], ecx
mov edx, dword [ebp - 0x7dc]
sub edx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x7e4]
shl eax, 4
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x80c]
or edx, dword [ebp - 0x810]
mov dword [ebp - 0x814], edx
mov al, byte [ebp - 0x814]
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 0x97a6ba
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 - 0x7a4]
add ecx, 1
mov dword [ebp - 0x7a4], ecx
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x834]
add eax, dword [ebp - 0x804]
movzx ecx, byte [eax]
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x7d8], 0x66
mov edx, dword [ebp - 0x758]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x834]
add ecx, dword [ebp - 0x808]
movzx edx, byte [ecx]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7e0], 0x79
mov eax, dword [ebp - 0x7d4]
sub eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7dc]
sub ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7e4]
shl edx, 4
mov dword [ebp - 0x80c], edx
movsd xmm0, qword [0x9ece78]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [0x9e0128]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [0x9ece08]
movsd qword [ebp - 0x944], xmm0
movsd xmm0, qword [0x9ded98]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [0x9ecd70]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [0x9ecd10]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [0x9eccb0]
movsd qword [ebp - 0x860], xmm0
movsd xmm0, qword [ebp - 0x7fc]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x7fc]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x8ac]
addsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x944]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x944], xmm0
movsd xmm0, qword [ebp - 0x7fc]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x868]
subsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x868]
subsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x860]
comisd xmm0, xmmword [ebp - 0x7fc]
jbe 0x97ab55
movsd xmm0, qword [ebp - 0x81c]
divsd xmm0, qword [ebp - 0x944]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x868]
subsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x81c]
divsd xmm0, qword [ebp - 0x944]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x8b4]
mulsd xmm0, qword [ebp - 0x8ac]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x868]
divsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x868]
subsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x8b4]
mulsd xmm0, qword [ebp - 0x8ac]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x860]
mulsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x860], xmm0
movsd xmm0, qword [ebp - 0x81c]
subsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x7fc]
mulsd xmm0, qword [ebp - 0x868]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x81c]
mulsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x81c]
mulsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x8ac]
divsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x944]
addsd xmm0, qword [ebp - 0x8ac]
movsd qword [ebp - 0x944], xmm0
movsd xmm0, qword [ebp - 0x8ac]
comisd xmm0, xmmword [ebp - 0x944]
jbe 0x97aaa8
movsd xmm0, qword [ebp - 0x860]
addsd xmm0, qword [ebp - 0x868]
movsd qword [ebp - 0x860], xmm0
movsd xmm0, qword [ebp - 0x8ac]
mulsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x944]
mulsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x944], xmm0
movsd xmm0, qword [ebp - 0x868]
divsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x8ac]
subsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x81c]
divsd xmm0, qword [ebp - 0x944]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x8ac]
mulsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8ac], xmm0
jmp 0x97ab50
movsd xmm0, qword [ebp - 0x7fc]
subsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x868]
addsd xmm0, qword [ebp - 0x81c]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [ebp - 0x81c]
divsd xmm0, qword [ebp - 0x944]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x7fc]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x860]
addsd xmm0, qword [ebp - 0x868]
movsd qword [ebp - 0x860], xmm0
movsd xmm0, qword [ebp - 0x8b4]
subsd xmm0, qword [ebp - 0x8ac]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x7fc]
addsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x7fc], xmm0
jmp 0x97ac09
movsd xmm0, qword [ebp - 0x8b4]
addsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x7fc]
subsd xmm0, qword [ebp - 0x868]
movsd qword [ebp - 0x7fc], xmm0
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x810], eax
movsd xmm0, qword [ebp - 0x81c]
subsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x81c], xmm0
movsd xmm0, qword [ebp - 0x8ac]
mulsd xmm0, qword [ebp - 0x860]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x8b4]
addsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x7fc]
addsd xmm0, qword [ebp - 0x868]
movsd qword [ebp - 0x7fc], xmm0
movsd xmm0, qword [ebp - 0x8b4]
addsd xmm0, qword [ebp - 0x7fc]
movsd qword [ebp - 0x8b4], xmm0
mov ecx, dword [ebp - 0x80c]
or ecx, dword [ebp - 0x810]
mov dword [ebp - 0x814], ecx
mov dl, byte [ebp - 0x814]
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 0x97ada8
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
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 1
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x834]
add edx, dword [ebp - 0x804]
movzx eax, byte [edx]
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d8], 0x66
mov ecx, dword [ebp - 0x758]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x834]
add eax, dword [ebp - 0x808]
movzx ecx, byte [eax]
mov dword [ebp - 0x7dc], ecx
mov dword [ebp - 0x7e0], 0x79
mov edx, dword [ebp - 0x7d4]
sub edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7e4], edx
mov eax, dword [ebp - 0x7dc]
sub eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x7e4]
shl ecx, 4
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x810], edx
mov eax, dword [ebp - 0x80c]
or eax, dword [ebp - 0x810]
mov dword [ebp - 0x814], eax
mov cl, byte [ebp - 0x814]
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
movss xmm0, dword [0x9ecffc]
movss dword [ebp - 0x7a0], xmm0
movss xmm0, dword [0x9ecfcc]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [0x9ecf84]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
comiss xmm0, dword [ebp - 0x774]
jbe 0x97affe
movss xmm0, dword [ebp - 0x7a0]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x7a0], xmm0
movss xmm0, dword [ebp - 0x774]
subss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movzx edx, byte [ebp - 0x736]
mov al, byte [ebp - 0x744]
mov byte [ebp + edx - 0x224], al
movss xmm0, dword [ebp - 0x770]
addss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x770], xmm0
jmp 0x97b131
movss xmm0, dword [ebp - 0x774]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x770]
divss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x770]
divss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x770]
subss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x7a0]
comiss xmm0, dword [ebp - 0x774]
jbe 0x97b0e9
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
divss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x7a0]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x7a0], xmm0
jmp 0x97b131
movss xmm0, dword [ebp - 0x774]
subss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x7a0]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x7a0]
subss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x7a0], xmm0
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 0x97b207
movsx dx, byte [ebp - 0x761]
mov eax, dword [ebp - 0x758]
mov word [ebp + eax*2 - 0x1a], dx
mov ecx, dword [ebp - 0x7a4]
add ecx, 1
mov dword [ebp - 0x7a4], ecx
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x968], edx
jmp 0x97b236
mov eax, dword [ebp - 0x968]
add eax, 1
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x968]
cmp ecx, dword [ebp - 0x7a4]
jge 0x97b495
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x804], eax
mov ecx, dword [ebp - 0x834]
add ecx, dword [ebp - 0x804]
movzx edx, byte [ecx]
mov dword [ebp - 0x7d4], edx
mov dword [ebp - 0x7d8], 0x66
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x834]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7e0], 0x79
mov ecx, dword [ebp - 0x7d4]
sub ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7e4], ecx
mov edx, dword [ebp - 0x7dc]
sub edx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x7e4]
shl eax, 4
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x80c]
or edx, dword [ebp - 0x810]
mov dword [ebp - 0x814], edx
mov al, byte [ebp - 0x814]
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 0x97b490
movsx cx, byte [ebp - 0x761]
mov edx, dword [ebp - 0x758]
mov word [ebp + edx*2 - 0x1a], cx
jmp 0x97b227
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0x7a4], eax
mov ecx, 2
shl ecx, 2
mov dword [ebp - 0x9dc], ecx
cmp dword [ebp - 0x9dc], 0xa
jae 0x97b4bd
jmp 0x97b4c2
call fcn.009b6137
xor edx, edx
mov eax, dword [ebp - 0x9dc]
mov word [ebp + eax - 0x18], dx
jmp 0x97b522
mov dword [ebp - 0x758], 0
jmp 0x97b4ec
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 5
jae 0x97b522
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x9d8], edx
cmp dword [ebp - 0x9d8], 0xa
jae 0x97b50e
jmp 0x97b513
call fcn.009b6137
xor eax, eax
mov ecx, dword [ebp - 0x9d8]
mov word [ebp + ecx - 0x18], ax
jmp 0x97b4dd
xor edx, edx
mov eax, dword [ebp - 0x998]
mov word [eax], dx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x930], ecx
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x930]
mov cx, word [eax]
mov word [ebp - 0x9a0], cx
add dword [ebp - 0x930], 2
cmp word [ebp - 0x9a0], 0
jne 0x97b542
mov edx, dword [ebp - 0x930]
sub edx, dword [ebp - 0x9d4]
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x9f8], edx
lea ecx, [ebp - 0x52c]
add ecx, 0xfffffffe
mov dword [ebp - 0x964], ecx
mov edx, dword [ebp - 0x964]
mov ax, word [edx + 2]
mov word [ebp - 0x99e], ax
add dword [ebp - 0x964], 2
cmp word [ebp - 0x99e], 0
jne 0x97b590
mov edi, dword [ebp - 0x964]
mov esi, dword [ebp - 0x9fc]
mov edx, dword [ebp - 0x9f8]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x734]
push ecx
call fcn.009bc8bb
add esp, 8
push 0x400
push 0
push 0xa035a0
call fcn.009b72a0
add esp, 0xc
lea edx, [ebp - 0x52c]
mov dword [ebp - 0x99c], edx
mov dword [ebp - 0x960], 0xa035a0
mov eax, dword [ebp - 0x960]
mov dword [ebp - 0xa1c], eax
mov ecx, dword [ebp - 0x99c]
mov dx, word [ecx]
mov word [ebp - 0x90a], dx
mov eax, dword [ebp - 0x960]
mov cx, word [ebp - 0x90a]
mov word [eax], cx
mov edx, dword [ebp - 0x99c]
add edx, 2
mov dword [ebp - 0x99c], edx
mov eax, dword [ebp - 0x960]
add eax, 2
mov dword [ebp - 0x960], eax
cmp word [ebp - 0x90a], 0
jne 0x97b61e
lea ecx, [ebp - 0xa20]
push ecx
push 0
push 0
push 0x97e9f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xorps xmm0, xmm0
movsd qword [ebp - 0x914], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8f8], xmm0
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x95c], 0
mov dword [ebp - 0x92c], 1
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x7a8], 0
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x7c4], 0
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x790], 0
mov dword [ebp - 0x794], 0
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x7ac], 0
mov dword [ebp - 0x7b0], 0
mov dword [ebp - 0xa14], 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 - 0x77d], 0
mov byte [ebp - 0x742], 0
mov byte [ebp - 0x740], 0
mov byte [ebp - 0x759], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x914], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8f8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8f8], xmm0
jmp 0x97b7d5
movsd xmm0, qword [ebp - 0x8f8]
addsd xmm0, qword [0x9d8060]
movsd qword [ebp - 0x8f8], xmm0
movsd xmm0, qword [0x9ecf20]
comisd xmm0, xmmword [ebp - 0x8f8]
jbe 0x97b886
movsd xmm0, qword [0x9ecc88]
mulsd xmm0, qword [ebp - 0x8f8]
mulsd xmm0, qword [ebp - 0x8f8]
movsd xmm1, qword [ebp - 0x8f8]
mulsd xmm1, qword [ebp - 0x8f8]
subsd xmm0, xmm1
movsd xmm1, qword [0x9d8e78]
mulsd xmm1, qword [ebp - 0x8f8]
mulsd xmm1, qword [ebp - 0x8f8]
addsd xmm1, qword [0x9dba30]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x914]
movsd qword [ebp - 0x914], xmm0
movsd xmm0, qword [ebp - 0x914]
comisd xmm0, xmmword [0x9ecc40]
jbe 0x97b881
movsd xmm0, qword [0x9ecbf8]
mulsd xmm0, qword [ebp - 0x8f8]
movsd xmm1, qword [ebp - 0x914]
subsd xmm1, xmm0
movsd qword [ebp - 0x914], xmm1
jmp 0x97b7bd
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x914]
jbe 0x97b8b7
xor ebx, dword [ebp + 0x31]
sub esp, dword [ecx + 0x57]
popal
push ecx
dec ebx
jo 0x97b8c3
inc ebp
xor byte [edx + 0x56], bl
push ebp
xor eax, 0x2cd6792e
invalid
mov dword [ebp - 0x9f4], 0x97b8a6
mov dword [ebp - 0x9f0], 0x97b893
mov edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9ec], eax
mov byte [ebp - 0x77d], 0x17
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x750], 0
jmp 0x97b919
adc dh, dh
invalid
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
cmp dword [ebp - 0x750], 0x100
jae 0x97b93a
mov edx, dword [ebp - 0x750]
mov al, byte [ebp - 0x750]
mov byte [ebp + edx - 0x124], al
jmp 0x97b90a
mov dword [ebp - 0x898], 0
mov byte [ebp - 0x748], 0
mov dword [ebp - 0x750], 0xff
jmp 0x97b966
mov ecx, dword [ebp - 0x750]
sub ecx, 1
mov dword [ebp - 0x750], ecx
cmp dword [ebp - 0x750], 0
jbe 0x97bbe0
mov dword [ebp - 0x95c], 0
mov dword [ebp - 0x92c], 1
mov dword [ebp - 0x840], 0
mov edx, dword [ebp - 0x92c]
cmp edx, dword [ebp - 0x750]
jae 0x97b9b1
mov eax, dword [ebp - 0x92c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x92c], ecx
jmp 0x97b991
mov edx, dword [ebp - 0x898]
mov dword [ebp - 0x9d0], edx
cmp dword [ebp - 0x9d0], 3
ja case.default.0x97b9d0
mov eax, dword [ebp - 0x9d0]
jmp dword [eax*4 + 0x97e9c8]
movzx ecx, byte [ebp - 0x748]
movzx ebx, byte [ebp + ecx - 0x124]
movsd xmm0, qword [ebp - 0x914]
call fcn.009b6220
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x97bab9
movzx edx, byte [ebp - 0x748]
movzx ebx, byte [ebp + edx - 0x124]
movsd xmm0, qword [ebp - 0x914]
call fcn.009b6220
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x97bab9
movzx eax, byte [ebp - 0x748]
movzx ebx, byte [ebp + eax - 0x124]
movsd xmm0, qword [ebp - 0x914]
call fcn.009b6220
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x97bab9
movzx ecx, byte [ebp - 0x748]
movzx ebx, byte [ebp + ecx - 0x124]
movsd xmm0, qword [ebp - 0x914]
call fcn.009b6220
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x748], bl
jmp 0x97bab9
movzx edx, byte [ebp - 0x748]
movzx eax, byte [ebp + edx - 0x124]
mov ecx, dword [ebp - 0x9ec]
add ecx, dword [ebp - 0x898]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x748], al
mov eax, dword [ebp - 0x898]
add eax, 1
mov dword [ebp - 0x898], eax
movzx ecx, byte [ebp - 0x77d]
cmp dword [ebp - 0x898], ecx
jb 0x97baf7
mov dword [ebp - 0x898], 0
movzx edx, byte [ebp - 0x77d]
movzx eax, byte [ebp - 0x748]
add eax, edx
mov byte [ebp - 0x748], al
movzx ecx, byte [ebp - 0x748]
and ecx, dword [ebp - 0x92c]
mov dword [ebp - 0x840], ecx
mov edx, dword [ebp - 0x95c]
add edx, 1
mov dword [ebp - 0x95c], edx
cmp dword [ebp - 0x95c], 0xb
jbe 0x97bb36
mov eax, dword [ebp - 0x840]
xor edx, edx
div dword [ebp - 0x750]
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x840]
cmp eax, dword [ebp - 0x750]
ja 0x97b9b1
mov ecx, dword [ebp - 0x750]
cmp ecx, dword [ebp - 0x840]
je 0x97bbdb
mov edx, dword [ebp - 0x840]
movzx eax, byte [ebp + edx - 0x124]
mov ecx, dword [ebp - 0x750]
movzx edx, byte [ebp + ecx - 0x124]
xor edx, eax
mov eax, dword [ebp - 0x750]
mov byte [ebp + eax - 0x124], dl
mov ecx, dword [ebp - 0x750]
movzx edx, byte [ebp + ecx - 0x124]
mov eax, dword [ebp - 0x840]
movzx ecx, byte [ebp + eax - 0x124]
xor ecx, edx
mov edx, dword [ebp - 0x840]
mov byte [ebp + edx - 0x124], cl
mov eax, dword [ebp - 0x840]
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
jmp 0x97b957
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x735], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x737], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x741], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x738], al
movzx ecx, byte [ebp - 0x748]
mov dl, byte [ebp + ecx - 0x124]
mov byte [ebp - 0x73b], dl
mov dword [ebp - 0x9b0], 0xc
cmp dword [ebp - 0x9b0], 2
jle 0x97d308
mov eax, dword [ebp - 0x9b0]
and eax, 1
jne 0x97d308
movsd xmm0, qword [0x9ecf00]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [0x9ecec0]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [0x9ece58]
movsd qword [ebp - 0x8bc], xmm0
movsd xmm0, qword [0x9ecde8]
movsd qword [ebp - 0x8f0], xmm0
movsd xmm0, qword [0x9e70d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [0x9dd528]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x8c8]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x8f0]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8f0], xmm0
movsd xmm0, qword [ebp - 0x8f0]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8f0], xmm0
movsd xmm0, qword [ebp - 0x848]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x848]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x8bc]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8bc], xmm0
movsd xmm0, qword [ebp - 0x848]
comisd xmm0, xmmword [ebp - 0x8f0]
jbe 0x97be13
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x848]
subsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x8c8]
subsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x83c]
subsd xmm0, qword [ebp - 0x8f0]
movsd qword [ebp - 0x83c], xmm0
mov dword [ebp - 0x750], 0
movsd xmm0, qword [ebp - 0x8bc]
addsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8bc], xmm0
jmp 0x97c06e
movsd xmm0, qword [ebp - 0x8bc]
addsd xmm0, qword [ebp - 0x8f0]
movsd qword [ebp - 0x8bc], xmm0
movsd xmm0, qword [ebp - 0x8c8]
mulsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x8c8]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x7d0]
divsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x83c]
divsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x8c8]
addsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x8f0]
mulsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8f0], xmm0
movsd xmm0, qword [ebp - 0x8c8]
subsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x83c]
subsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x83c]
divsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x848]
addsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x8bc]
comisd xmm0, xmmword [ebp - 0x848]
jbe 0x97bfde
movsd xmm0, qword [ebp - 0x83c]
subsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x848]
addsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x848]
addsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x848], xmm0
movsd xmm0, qword [ebp - 0x7d0]
subsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x83c]
addsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
jmp 0x97c06e
movsd xmm0, qword [ebp - 0x8bc]
addsd xmm0, qword [ebp - 0x8f0]
movsd qword [ebp - 0x8bc], xmm0
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x848]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x83c]
mulsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x83c]
subsd xmm0, qword [ebp - 0x8bc]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x8f0]
subsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8f0], xmm0
mov dword [ebp - 0x7bc], 0
movsd xmm0, qword [0x9ece90]
movsd qword [ebp - 0x980], xmm0
movsd xmm0, qword [0x9ecdf0]
movsd qword [ebp - 0x94c], xmm0
movsd xmm0, qword [0x9ecd28]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x980]
subsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x980], xmm0
movsd xmm0, qword [ebp - 0x980]
mulsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x980], xmm0
movsd xmm0, qword [ebp - 0x980]
subsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x980], xmm0
movsd xmm0, qword [ebp - 0x980]
comisd xmm0, xmmword [ebp - 0x91c]
jbe 0x97c15b
movsd xmm0, qword [ebp - 0x94c]
subsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x94c], xmm0
movsd xmm0, qword [ebp - 0x94c]
addsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x94c], xmm0
mov ecx, dword [ebp - 0x7bc]
add ecx, 1
mov dword [ebp - 0x7bc], ecx
movsd xmm0, qword [ebp - 0x94c]
addsd xmm0, qword [ebp - 0x91c]
movsd qword [ebp - 0x94c], xmm0
jmp 0x97c1a3
movsd xmm0, qword [ebp - 0x91c]
divsd xmm0, qword [ebp - 0x94c]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x91c]
divsd xmm0, qword [ebp - 0x94c]
movsd qword [ebp - 0x91c], xmm0
movsd xmm0, qword [ebp - 0x94c]
divsd xmm0, qword [ebp - 0x980]
movsd qword [ebp - 0x94c], xmm0
mov dword [ebp - 0x7c0], 0
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x7c0], edx
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x7ec]
add eax, dword [ebp - 0x7c0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x784], 0
mov edx, dword [ebp - 0x784]
add edx, 0xd5
mov dword [ebp - 0x784], edx
mov dword [ebp - 0x7c4], 0
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7c4], ecx
mov dword [ebp - 0x788], 0
mov edx, dword [ebp - 0x7ec]
add edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
add eax, dword [ebp - 0x788]
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x78c], 0
mov ecx, dword [ebp - 0x78c]
add ecx, 0x21
mov dword [ebp - 0x78c], ecx
mov dword [ebp - 0x790], 0
mov edx, dword [ebp - 0x7a8]
sub edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x790]
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x788]
sub eax, dword [ebp - 0x78c]
add eax, dword [ebp - 0x794]
mov dword [ebp - 0x794], eax
mov dword [ebp - 0x7c8], 0
mov ecx, dword [ebp - 0x790]
shl ecx, 4
mov dword [ebp - 0x7c8], ecx
mov dword [ebp - 0x7ac], 0
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], edx
mov dword [ebp - 0x7b0], 0
mov eax, dword [ebp - 0x7c8]
or eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], eax
mov byte [ebp - 0x742], 0
mov cl, byte [ebp - 0x7b0]
mov byte [ebp - 0x742], cl
mov byte [ebp - 0x740], 0
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 0x97c47c
movsx dx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x750]
mov word [ebp + eax*2 - 0x26], dx
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x7bc]
add edx, 1
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7ec]
add ecx, dword [ebp - 0x7c0]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a8], edx
mov dword [ebp - 0x784], 0xd5
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7ec]
add edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x78c], 0x21
mov ecx, dword [ebp - 0x7a8]
sub ecx, dword [ebp - 0x784]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x788]
sub edx, dword [ebp - 0x78c]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
shl eax, 4
mov dword [ebp - 0x7c8], eax
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7c8]
or edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], edx
mov al, byte [ebp - 0x7b0]
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 0x97c6d3
movsx cx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x750]
mov word [ebp + edx*2 - 0x26], cx
movsd xmm0, qword [0x9ece38]
movsd qword [ebp - 0x8d0], xmm0
movsd xmm0, qword [0x9e7bf0]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [0x9ecd60]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [0x9ecce8]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x8d0]
addsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x8d0], xmm0
movsd xmm0, qword [ebp - 0x894]
addsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x894]
subsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x88c]
addsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x8d0]
comisd xmm0, xmmword [ebp - 0x7b8]
jbe 0x97c7f9
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x8d0]
mulsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x8d0], xmm0
mov eax, dword [ebp - 0x750]
add eax, 1
mov dword [ebp - 0x750], eax
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x7b8]
mulsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x7b8], xmm0
jmp 0x97c98d
movsd xmm0, qword [ebp - 0x8d0]
addsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x8d0], xmm0
movsd xmm0, qword [ebp - 0x7b8]
addsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x894]
mulsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x894]
mulsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x88c]
mulsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x7b8]
subsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x7b8]
addsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x88c]
mulsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x894]
comisd xmm0, xmmword [ebp - 0x7b8]
jbe 0x97c92d
movsd xmm0, qword [ebp - 0x7b8]
divsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x7b8]
subsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x8d0]
subsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x8d0], xmm0
movsd xmm0, qword [ebp - 0x88c]
mulsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x88c], xmm0
jmp 0x97c98d
movsd xmm0, qword [ebp - 0x894]
subsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [ebp - 0x7b8]
addsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x88c]
divsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x7b8]
mulsd xmm0, qword [ebp - 0x894]
movsd qword [ebp - 0x7b8], xmm0
mov ecx, dword [ebp - 0x7bc]
add ecx, 1
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x7ec]
add eax, dword [ebp - 0x7c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x784], 0xd5
mov edx, dword [ebp - 0x750]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x7c4], eax
mov ecx, dword [ebp - 0x7ec]
add ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
mov dword [ebp - 0x788], edx
mov dword [ebp - 0x78c], 0x21
mov eax, dword [ebp - 0x7a8]
sub eax, dword [ebp - 0x784]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x788]
sub ecx, dword [ebp - 0x78c]
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x790]
shl edx, 4
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7c8]
or ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], ecx
mov dl, byte [ebp - 0x7b0]
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 0x97cbd6
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 - 0x7bc]
add eax, 1
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x750]
shl ecx, 1
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x7ec]
add edx, dword [ebp - 0x7c0]
movzx eax, byte [edx]
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x784], 0xd5
mov ecx, dword [ebp - 0x750]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x7ec]
add eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
mov dword [ebp - 0x788], ecx
mov dword [ebp - 0x78c], 0x21
mov edx, dword [ebp - 0x7a8]
sub edx, dword [ebp - 0x784]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x788]
sub eax, dword [ebp - 0x78c]
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x790]
shl ecx, 4
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], edx
mov eax, dword [ebp - 0x7c8]
or eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], eax
mov cl, byte [ebp - 0x7b0]
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 0x97ce2c
movsx dx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x750]
mov word [ebp + eax*2 - 0x26], dx
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x7bc]
add edx, 1
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7ec]
add ecx, dword [ebp - 0x7c0]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a8], edx
mov dword [ebp - 0x784], 0xd5
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7ec]
add edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x78c], 0x21
mov ecx, dword [ebp - 0x7a8]
sub ecx, dword [ebp - 0x784]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x788]
sub edx, dword [ebp - 0x78c]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
shl eax, 4
mov dword [ebp - 0x7c8], eax
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7c8]
or edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], edx
mov al, byte [ebp - 0x7b0]
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 0x97d083
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
mov ecx, dword [ebp - 0x7bc]
add ecx, 1
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x7ec]
add eax, dword [ebp - 0x7c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x784], 0xd5
mov edx, dword [ebp - 0x750]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x7c4], eax
mov ecx, dword [ebp - 0x7ec]
add ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
mov dword [ebp - 0x788], edx
mov dword [ebp - 0x78c], 0x21
mov eax, dword [ebp - 0x7a8]
sub eax, dword [ebp - 0x784]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x788]
sub ecx, dword [ebp - 0x78c]
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x790]
shl edx, 4
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7c8]
or ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], ecx
mov dl, byte [ebp - 0x7b0]
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 0x97d2db
movsx ax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x750]
mov word [ebp + ecx*2 - 0x26], ax
mov edx, 2
imul eax, edx, 5
mov dword [ebp - 0x9cc], eax
cmp dword [ebp - 0x9cc], 0xc
jae 0x97d2f4
jmp 0x97d2f9
call fcn.009b6137
xor ecx, ecx
mov edx, dword [ebp - 0x9cc]
mov word [ebp + edx - 0x24], cx
jmp 0x97d359
mov dword [ebp - 0x750], 0
jmp 0x97d323
mov eax, dword [ebp - 0x750]
add eax, 1
mov dword [ebp - 0x750], eax
cmp dword [ebp - 0x750], 6
jae 0x97d359
mov ecx, dword [ebp - 0x750]
shl ecx, 1
mov dword [ebp - 0x9c8], ecx
cmp dword [ebp - 0x9c8], 0xc
jae 0x97d345
jmp 0x97d34a
call fcn.009b6137
xor edx, edx
mov eax, dword [ebp - 0x9c8]
mov word [ebp + eax - 0x24], dx
jmp 0x97d314
xorps xmm0, xmm0
movsd qword [ebp - 0x924], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x908], xmm0
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x89c], 0
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x928], 1
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x9ac], 0
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x874], 0
mov dword [ebp - 0xa24], 0
mov byte [ebp - 0x73c], 0
mov byte [ebp - 0x73e], 0
mov byte [ebp - 0x753], 0
mov byte [ebp - 0x73f], 0
mov byte [ebp - 0x743], 0
mov byte [ebp - 0x749], 0
mov byte [ebp - 0x77e], 0
mov byte [ebp - 0x751], 0
mov byte [ebp - 0x752], 0
mov byte [ebp - 0x762], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x924], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x908], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x908], xmm0
jmp 0x97d4ae
movsd xmm0, qword [ebp - 0x908]
addsd xmm0, qword [0x9d8058]
movsd qword [ebp - 0x908], xmm0
movsd xmm0, qword [0x9d8950]
comisd xmm0, xmmword [ebp - 0x908]
jbe 0x97d55f
movsd xmm0, qword [0x9d8260]
mulsd xmm0, qword [ebp - 0x908]
mulsd xmm0, qword [ebp - 0x908]
movsd xmm1, qword [ebp - 0x908]
mulsd xmm1, qword [ebp - 0x908]
subsd xmm0, xmm1
movsd xmm1, qword [0x9d8088]
mulsd xmm1, qword [ebp - 0x908]
mulsd xmm1, qword [ebp - 0x908]
addsd xmm1, qword [0x9d8140]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x924]
movsd qword [ebp - 0x924], xmm0
movsd xmm0, qword [ebp - 0x924]
comisd xmm0, xmmword [0x9d8208]
jbe 0x97d55a
movsd xmm0, qword [0x9d7fc0]
mulsd xmm0, qword [ebp - 0x908]
movsd xmm1, qword [ebp - 0x924]
subsd xmm1, xmm0
movsd qword [ebp - 0x924], xmm1
jmp 0x97d496
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x924]
jbe 0x97d593
cmp edi, dword [ecx + ebx*2 + 0x54]
inc ebx
pushal
and ebx, dword [eax + 0x2b]
dec edx
aas
inc ecx
cmp eax, 0x67552e59
outsd dx, dword [esi]
jle 0x97d5b9
sub bh, byte [esi + 0x33]
sub ah, byte [edi]
push edi
cmp edx, dword [edi + esi + 0x50]
cmp eax, 0xabe93254
adc eax, dword [eax]
add bh, al
test dword [eax], ebx
idiv bh
inc dword [esi - 0x38ff682b]
test esp, esi
cmc
invalid
mov dword [ebp - 0x9e8], 0x97d586
mov dword [ebp - 0xa0c], 0x97d56c
mov ecx, dword [ebp - 0x9e8]
mov dword [ebp - 0x8a0], ecx
mov edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa10], edx
mov byte [ebp - 0x77e], 0x1e
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x89c], 0
mov dword [ebp - 0x760], 0
jmp 0x97d5f5
mov eax, dword [ebp - 0x760]
add eax, 1
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 0x100
jae 0x97d616
mov ecx, dword [ebp - 0x760]
mov dl, byte [ebp - 0x760]
mov byte [ebp + ecx - 0x324], dl
jmp 0x97d5e6
mov dword [ebp - 0x89c], 0
mov byte [ebp - 0x749], 0
mov dword [ebp - 0x760], 0xff
jmp 0x97d642
mov eax, dword [ebp - 0x760]
sub eax, 1
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 0
jbe 0x97d8bc
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x928], 1
mov dword [ebp - 0x82c], 0
mov ecx, dword [ebp - 0x928]
cmp ecx, dword [ebp - 0x760]
jae 0x97d68d
mov edx, dword [ebp - 0x928]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x928], eax
jmp 0x97d66d
mov ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x9b8], ecx
cmp dword [ebp - 0x9b8], 3
ja case.default.0x97d6ac
mov edx, dword [ebp - 0x9b8]
jmp dword [edx*4 + 0x97e9d8]
movzx eax, byte [ebp - 0x749]
movzx ebx, byte [ebp + eax - 0x324]
movsd xmm0, qword [ebp - 0x924]
call fcn.009b6220
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x97d795
movzx ecx, byte [ebp - 0x749]
movzx ebx, byte [ebp + ecx - 0x324]
movsd xmm0, qword [ebp - 0x924]
call fcn.009b6220
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x97d795
movzx edx, byte [ebp - 0x749]
movzx ebx, byte [ebp + edx - 0x324]
movsd xmm0, qword [ebp - 0x924]
call fcn.009b6220
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x97d795
movzx eax, byte [ebp - 0x749]
movzx ebx, byte [ebp + eax - 0x324]
movsd xmm0, qword [ebp - 0x924]
call fcn.009b6220
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x749], bl
jmp 0x97d795
movzx ecx, byte [ebp - 0x749]
movzx edx, byte [ebp + ecx - 0x324]
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0x89c]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x749], dl
mov edx, dword [ebp - 0x89c]
add edx, 1
mov dword [ebp - 0x89c], edx
movzx eax, byte [ebp - 0x77e]
cmp dword [ebp - 0x89c], eax
jb 0x97d7d3
mov dword [ebp - 0x89c], 0
movzx ecx, byte [ebp - 0x77e]
movzx edx, byte [ebp - 0x749]
add edx, ecx
mov byte [ebp - 0x749], dl
movzx eax, byte [ebp - 0x749]
and eax, dword [ebp - 0x928]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x958]
add ecx, 1
mov dword [ebp - 0x958], ecx
cmp dword [ebp - 0x958], 0xb
jbe 0x97d812
mov eax, dword [ebp - 0x82c]
xor edx, edx
div dword [ebp - 0x760]
mov dword [ebp - 0x82c], edx
mov edx, dword [ebp - 0x82c]
cmp edx, dword [ebp - 0x760]
ja 0x97d68d
mov eax, dword [ebp - 0x760]
cmp eax, dword [ebp - 0x82c]
je 0x97d8b7
mov ecx, dword [ebp - 0x82c]
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
mov eax, dword [ebp - 0x760]
movzx ecx, byte [ebp + eax - 0x324]
mov edx, dword [ebp - 0x82c]
movzx eax, byte [ebp + edx - 0x324]
xor eax, ecx
mov ecx, dword [ebp - 0x82c]
mov byte [ebp + ecx - 0x324], al
mov edx, dword [ebp - 0x82c]
movzx eax, byte [ebp + edx - 0x324]
mov ecx, dword [ebp - 0x760]
movzx edx, byte [ebp + ecx - 0x324]
xor edx, eax
mov eax, dword [ebp - 0x760]
mov byte [ebp + eax - 0x324], dl
jmp 0x97d633
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x73c], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x73e], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x753], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x73f], dl
movss xmm0, dword [0x9d8c84]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [0x9d8c50]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [0x9d8bdc]
movss dword [ebp - 0x8e0], xmm0
movss xmm0, dword [0x9d8b54]
movss dword [ebp - 0x8e8], xmm0
movss xmm0, dword [0x9d8ac0]
movss dword [ebp - 0x8e4], xmm0
movss xmm0, dword [0x9d8a24]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x84c]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x8e8]
subss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x8e8], xmm0
movss xmm0, dword [ebp - 0x8e0]
subss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x8e0], xmm0
movss xmm0, dword [ebp - 0x8e8]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x8e8], xmm0
movss xmm0, dword [ebp - 0x8e0]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x8e0], xmm0
movss xmm0, dword [ebp - 0x84c]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x84c]
comiss xmm0, dword [ebp - 0x77c]
jbe 0x97dabe
movss xmm0, dword [ebp - 0x8e4]
subss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x8e4], xmm0
movss xmm0, dword [ebp - 0x7f0]
mulss xmm0, dword [ebp - 0x8e0]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [ebp - 0x8e4]
mulss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x8e4], xmm0
movzx eax, byte [ebp - 0x749]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x743], cl
movss xmm0, dword [ebp - 0x77c]
mulss xmm0, dword [ebp - 0x84c]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x8e8]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x8e8], xmm0
movss xmm0, dword [ebp - 0x8e4]
mulss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x8e4], xmm0
jmp 0x97db4e
movss xmm0, dword [ebp - 0x7f0]
mulss xmm0, dword [ebp - 0x84c]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [ebp - 0x84c]
divss xmm0, dword [ebp - 0x8e0]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x77c]
mulss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x77c]
subss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x7f0]
addss xmm0, dword [ebp - 0x84c]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [ebp - 0x77c]
subss xmm0, dword [ebp - 0x7f0]
movss dword [ebp - 0x77c], xmm0
mov dword [ebp - 0x9ac], 8
cmp dword [ebp - 0x9ac], 2
jle 0x97e8ed
mov edx, dword [ebp - 0x9ac]
and edx, 1
jne 0x97e8ed
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x878], 0
mov eax, dword [ebp - 0x878]
add eax, 1
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x87c], 0
mov ecx, dword [ebp - 0x760]
shl ecx, 1
mov dword [ebp - 0x87c], ecx
mov dword [ebp - 0x850], 0
mov edx, dword [ebp - 0x8a0]
add edx, dword [ebp - 0x87c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x850]
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x854], 0
mov ecx, dword [ebp - 0x854]
add ecx, 0x4f
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x880], 0
mov edx, dword [ebp - 0x760]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x858], 0
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x880]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x858]
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x820], 0
mov eax, dword [ebp - 0x820]
add eax, 0x30
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x824], 0
mov ecx, dword [ebp - 0x850]
sub ecx, dword [ebp - 0x854]
add ecx, dword [ebp - 0x824]
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x828], 0
mov edx, dword [ebp - 0x858]
sub edx, dword [ebp - 0x820]
add edx, dword [ebp - 0x828]
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x86c], 0
mov eax, dword [ebp - 0x824]
shl eax, 4
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x884], 0
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0x884], ecx
mov dword [ebp - 0x874], 0
mov edx, dword [ebp - 0x86c]
or edx, dword [ebp - 0x884]
mov dword [ebp - 0x874], edx
mov byte [ebp - 0x751], 0
mov al, byte [ebp - 0x874]
mov byte [ebp - 0x751], al
mov byte [ebp - 0x752], 0
movzx ecx, byte [ebp - 0x743]
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x752], dl
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 - 0x752]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x752]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x753]
add edx, ecx
mov byte [ebp - 0x753], dl
movzx eax, byte [ebp - 0x751]
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 - 0x753]
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 - 0x751]
mov byte [ebp - 0x743], dl
mov al, byte [ebp - 0x73f]
mov byte [ebp - 0x762], al
cmp dword [ebp - 0x760], 0
jbe 0x97de6e
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 - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
mov edx, dword [ebp - 0x760]
shl edx, 1
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp - 0x8a0]
add eax, dword [ebp - 0x87c]
movzx ecx, byte [eax]
mov dword [ebp - 0x850], ecx
mov dword [ebp - 0x854], 0x4f
mov edx, dword [ebp - 0x760]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x880], eax
movss xmm0, dword [0x9d8bf4]
movss dword [ebp - 0x7f4], xmm0
movss xmm0, dword [0x9d8b8c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [0x9d8b04]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [0x9d8a88]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [0x9d8a04]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x798]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x7f4]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x7f4], xmm0
movss xmm0, dword [ebp - 0x798]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x76c]
comiss xmm0, dword [ebp - 0x768]
jbe 0x97e19e
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x7f4]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x7f4]
divss xmm0, dword [ebp - 0x798]
movss dword [ebp - 0x7f4], xmm0
movss xmm0, dword [ebp - 0x778]
mulss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x798]
subss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x798]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x768]
addss xmm0, dword [ebp - 0x7f4]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x798]
mulss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x798]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x768]
comiss xmm0, dword [ebp - 0x7f4]
jbe 0x97e121
movss xmm0, dword [ebp - 0x76c]
addss xmm0, dword [ebp - 0x7f4]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x798]
mulss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x76c]
subss xmm0, dword [ebp - 0x7f4]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x778]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x768]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
jmp 0x97e199
movss xmm0, dword [ebp - 0x778]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x768]
divss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x7f4]
subss xmm0, dword [ebp - 0x798]
movss dword [ebp - 0x7f4], xmm0
jmp 0x97e22b
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x880]
movzx edx, byte [ecx]
mov dword [ebp - 0x858], edx
movss xmm0, dword [ebp - 0x76c]
addss xmm0, dword [ebp - 0x7f4]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
mov dword [ebp - 0x820], 0x30
mov eax, dword [ebp - 0x850]
sub eax, dword [ebp - 0x854]
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x858]
sub ecx, dword [ebp - 0x820]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x824]
shl edx, 4
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x828]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x86c]
or ecx, dword [ebp - 0x884]
mov dword [ebp - 0x874], ecx
mov dl, byte [ebp - 0x874]
mov byte [ebp - 0x751], dl
movzx eax, byte [ebp - 0x743]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x752], 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 - 0x752]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x752]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x753]
add ecx, eax
mov byte [ebp - 0x753], cl
movzx edx, byte [ebp - 0x751]
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 - 0x753]
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 - 0x751]
mov byte [ebp - 0x743], cl
mov dl, byte [ebp - 0x73f]
mov byte [ebp - 0x762], dl
cmp dword [ebp - 0x760], 0
jbe 0x97e413
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 - 0x878]
add eax, 1
mov dword [ebp - 0x878], eax
mov ecx, dword [ebp - 0x760]
shl ecx, 1
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x8a0]
add edx, dword [ebp - 0x87c]
movzx eax, byte [edx]
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x854], 0x4f
mov ecx, dword [ebp - 0x760]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x8a0]
add eax, dword [ebp - 0x880]
movzx ecx, byte [eax]
mov dword [ebp - 0x858], ecx
mov dword [ebp - 0x820], 0x30
mov edx, dword [ebp - 0x850]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x858]
sub eax, dword [ebp - 0x820]
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x824]
shl ecx, 4
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x828]
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x86c]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x874], eax
mov cl, byte [ebp - 0x874]
mov byte [ebp - 0x751], cl
movzx edx, byte [ebp - 0x743]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x752], 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 - 0x752]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x752]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x753]
add eax, edx
mov byte [ebp - 0x753], al
movzx ecx, byte [ebp - 0x751]
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 - 0x753]
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 - 0x751]
mov byte [ebp - 0x743], al
mov cl, byte [ebp - 0x73f]
mov byte [ebp - 0x762], cl
cmp dword [ebp - 0x760], 0
jbe 0x97e669
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 - 0x878]
add edx, 1
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x760]
shl eax, 1
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x87c]
movzx edx, byte [ecx]
mov dword [ebp - 0x850], edx
mov dword [ebp - 0x854], 0x4f
mov eax, dword [ebp - 0x760]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x8a0]
add edx, dword [ebp - 0x880]
movzx eax, byte [edx]
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x820], 0x30
mov ecx, dword [ebp - 0x850]
sub ecx, dword [ebp - 0x854]
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x858]
sub edx, dword [ebp - 0x820]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x824]
shl eax, 4
mov dword [ebp - 0x86c], eax
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0x884], ecx
mov edx, dword [ebp - 0x86c]
or edx, dword [ebp - 0x884]
mov dword [ebp - 0x874], edx
mov al, byte [ebp - 0x874]
mov byte [ebp - 0x751], al
movzx ecx, byte [ebp - 0x743]
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x752], dl
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 - 0x752]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x752]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x753]
add edx, ecx
mov byte [ebp - 0x753], dl
movzx eax, byte [ebp - 0x751]
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 - 0x753]
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 - 0x751]
mov byte [ebp - 0x743], dl
mov al, byte [ebp - 0x73f]
mov byte [ebp - 0x762], al
cmp dword [ebp - 0x760], 0
jbe 0x97e8c0
movsx cx, byte [ebp - 0x762]
mov edx, dword [ebp - 0x760]
mov word [ebp + edx*2 - 0xe], cx
mov eax, 2
imul ecx, eax, 3
mov dword [ebp - 0x9bc], ecx
cmp dword [ebp - 0x9bc], 8
jae 0x97e8d9
jmp 0x97e8de
call fcn.009b6137
xor edx, edx
mov eax, dword [ebp - 0x9bc]
mov word [ebp + eax - 0xc], dx
jmp 0x97e93e
mov dword [ebp - 0x760], 0
jmp 0x97e908
mov ecx, dword [ebp - 0x760]
add ecx, 1
mov dword [ebp - 0x760], ecx
cmp dword [ebp - 0x760], 4
jae 0x97e93e
mov edx, dword [ebp - 0x760]
shl edx, 1
mov dword [ebp - 0x9c0], edx
cmp dword [ebp - 0x9c0], 8
jae 0x97e92a
jmp 0x97e92f
call fcn.009b6137
xor eax, eax
mov ecx, dword [ebp - 0x9c0]
mov word [ebp + ecx - 0xc], ax
jmp 0x97e8f9
push 1
push 0
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0
call dword [0xa057fc]
mov dword [ebp - 0x9e4], eax
push 0x104
push 0
lea edx, [ebp - 0x734]
push edx
call fcn.009b72a0
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x52c]
push eax
call fcn.009b72a0
add esp, 0xc
cmp dword [ebp - 0x9e4], 0x20
jle 0x97e99e
mov dword [ebp - 0x9c4], 1
mov eax, dword [ebp - 0x9c4]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009b6212
mov esp, ebp
pop ebp
ret