Function at 0x549d79
Capabilities:
Create thread
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa5218f
mov eax, dword fs:[0]
push eax
sub esp, 0xe18
mov eax, dword [0xa8d06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x61d], 0
push 0x208
push 0
lea eax, [ebp - 0x474]
push eax
call fcn.00a2a2c0
add esp, 0xc
and dword [ebp - 0x4a0], 0
and dword [ebp - 0x49c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x7a0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x758], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x758], xmm0
jmp 0x549e0d
movsd xmm0, qword [ebp - 0x758]
addsd xmm0, qword [0xa55340]
movsd qword [ebp - 0x758], xmm0
movsd xmm0, qword [0xa56488]
comisd xmm0, xmmword [ebp - 0x758]
jbe 0x549ebe
movsd xmm0, qword [0xa56400]
mulsd xmm0, qword [ebp - 0x758]
mulsd xmm0, qword [ebp - 0x758]
movsd xmm1, qword [ebp - 0x758]
mulsd xmm1, qword [ebp - 0x758]
subsd xmm0, xmm1
movsd xmm1, qword [0xa553d0]
mulsd xmm1, qword [ebp - 0x758]
mulsd xmm1, qword [ebp - 0x758]
addsd xmm1, qword [0xa56328]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7a0]
movsd qword [ebp - 0x7a0], xmm0
movsd xmm0, qword [ebp - 0x7a0]
comisd xmm0, xmmword [0xa56368]
jbe 0x549eb9
movsd xmm0, qword [0xa56288]
mulsd xmm0, qword [ebp - 0x758]
movsd xmm1, qword [ebp - 0x7a0]
subsd xmm1, xmm0
movsd qword [ebp - 0x7a0], xmm1
jmp 0x549df5
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x7a0]
jbe 0x549f07
jb 0x549f1c
dec esi
push edx
dec esi
dec eax
pop edx
xor eax, 0x243b7378
pop edi
popal
jae 0x549f10
and bl, bl
xor ah, ch
xor al, 0xd8
xor bl, ah
cmp esp, eax
xor esp, ecx
xor ebx, ebp
aaa
fistp qword [edi + ebx*8]
cmp cl, ah
cmp bl, ah
cmp eax, 0x30db30da
jecxz 0x549f2f
jecxz 0x549f30
jecxz 0x549f31
fidivr word [0xe93de43c]
sbb al, 0x15
add byte [eax], al
mov dword [ebp - 0x4a0], 0x549edc
mov dword [ebp - 0x49c], 0x549ecb
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 0x631], 0x15
and dword [ebp - 0x520], 0
jmp 0x549f50
add bh, al
test dword [ebx + edi*8 - 1], esp
dec ebx
sahf
push esp
add byte [ebx - 0x49f7b], cl
dec dword [ecx - 0x5f37b]
dec dword [ebx - 0x49b7b]
dec dword [ecx - 0xc1b7b]
inc esi
test edi, ecx
stc
invalid
test dword [eax - 5], esp
invalid
in al, 0xf3
invalid
invalid
mov eax, dword [ebp - 0x520]
inc eax
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0x100
jae 0x549f71
mov eax, dword [ebp - 0x520]
mov cl, byte [ebp - 0x520]
mov byte [ebp + eax - 0xb18], cl
jmp 0x549f43
and dword [ebp - 0x720], 0
mov byte [ebp - 0x4c5], 0
mov dword [ebp - 0x520], 0xff
jmp 0x549f98
mov eax, dword [ebp - 0x520]
dec eax
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0
jbe 0x54a21d
and dword [ebp - 0x848], 0
mov dword [ebp - 0x7f0], 1
mov eax, dword [ebp - 0x7f0]
cmp eax, dword [ebp - 0x520]
jae 0x549fd6
mov eax, dword [ebp - 0x7f0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x7f0], eax
jmp 0x549fb6
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x9d8], eax
mov eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x5f8], eax
cmp dword [ebp - 0x5f8], 0
je 0x54a01b
sub dword [ebp - 0x5f8], 1
je 0x54a049
sub dword [ebp - 0x5f8], 1
je 0x54a07a
sub dword [ebp - 0x5f8], 1
je 0x54a0a8
jmp 0x54a0d6
movzx eax, byte [ebp - 0x4c5]
movzx ebx, byte [ebp + eax - 0xb18]
movsd xmm0, qword [ebp - 0x7a0]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c5], bl
jmp 0x54a0fd
movzx eax, byte [ebp - 0x4c5]
movzx ebx, byte [ebp + eax - 0xb18]
movsd xmm0, qword [ebp - 0x7a0]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c5], bl
jmp 0x54a0fd
movzx eax, byte [ebp - 0x4c5]
movzx ebx, byte [ebp + eax - 0xb18]
movsd xmm0, qword [ebp - 0x7a0]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c5], bl
jmp 0x54a0fd
movzx eax, byte [ebp - 0x4c5]
movzx ebx, byte [ebp + eax - 0xb18]
movsd xmm0, qword [ebp - 0x7a0]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c5], bl
jmp 0x54a0fd
movzx eax, byte [ebp - 0x4c5]
movzx eax, byte [ebp + eax - 0xb18]
mov ecx, dword [ebp - 0xc1c]
add ecx, dword [ebp - 0x720]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x4c5], al
mov eax, dword [ebp - 0x720]
inc eax
mov dword [ebp - 0x720], eax
movzx eax, byte [ebp - 0x631]
cmp dword [ebp - 0x720], eax
jb 0x54a136
and dword [ebp - 0x720], 0
movzx eax, byte [ebp - 0x631]
movzx ecx, byte [ebp - 0x4c5]
add ecx, eax
mov byte [ebp - 0x4c5], cl
movzx eax, byte [ebp - 0x4c5]
and eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x6c8], eax
mov eax, dword [ebp - 0x848]
inc eax
mov dword [ebp - 0x848], eax
cmp dword [ebp - 0x848], 0xb
jbe 0x54a173
mov eax, dword [ebp - 0x6c8]
xor edx, edx
div dword [ebp - 0x520]
mov dword [ebp - 0x6c8], edx
mov eax, dword [ebp - 0x6c8]
cmp eax, dword [ebp - 0x520]
ja 0x549fd6
mov eax, dword [ebp - 0x520]
cmp eax, dword [ebp - 0x6c8]
je 0x54a218
mov eax, dword [ebp - 0x6c8]
movzx eax, byte [ebp + eax - 0xb18]
mov ecx, dword [ebp - 0x520]
movzx ecx, byte [ebp + ecx - 0xb18]
xor ecx, eax
mov eax, dword [ebp - 0x520]
mov byte [ebp + eax - 0xb18], cl
mov eax, dword [ebp - 0x520]
movzx eax, byte [ebp + eax - 0xb18]
mov ecx, dword [ebp - 0x6c8]
movzx ecx, byte [ebp + ecx - 0xb18]
xor ecx, eax
mov eax, dword [ebp - 0x6c8]
mov byte [ebp + eax - 0xb18], cl
mov eax, dword [ebp - 0x6c8]
movzx eax, byte [ebp + eax - 0xb18]
mov ecx, dword [ebp - 0x520]
movzx ecx, byte [ebp + ecx - 0xb18]
xor ecx, eax
mov eax, dword [ebp - 0x520]
mov byte [ebp + eax - 0xb18], cl
jmp 0x549f8b
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4a6], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4aa], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bc], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4ab], al
movzx eax, byte [ebp - 0x4c5]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4b2], al
mov dword [ebp - 0x888], 0x26
cmp dword [ebp - 0x888], 2
jle 0x54b3db
mov eax, dword [ebp - 0x888]
and eax, 1
jne 0x54b3db
and dword [ebp - 0x4e0], 0
and dword [ebp - 0x524], 0
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
and dword [ebp - 0x5e4], 0
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
and dword [ebp - 0x590], 0
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x590]
mov dword [ebp - 0x590], eax
and dword [ebp - 0x594], 0
mov eax, dword [ebp - 0x594]
add eax, 0xd7
mov dword [ebp - 0x594], eax
and dword [ebp - 0x5f0], 0
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
and dword [ebp - 0x598], 0
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
add eax, dword [ebp - 0x598]
mov dword [ebp - 0x598], eax
and dword [ebp - 0x59c], 0
mov eax, dword [ebp - 0x59c]
add eax, 0x2f
mov dword [ebp - 0x59c], eax
and dword [ebp - 0x5a0], 0
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
add eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x5a0], eax
and dword [ebp - 0x5a4], 0
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
add eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5a4], eax
and dword [ebp - 0x5ec], 0
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
and dword [ebp - 0x5e8], 0
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
and dword [ebp - 0x60c], 0
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov byte [ebp - 0x4bd], 0
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
mov byte [ebp - 0x4bb], 0
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54a573
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
mov eax, dword [ebp - 0x524]
add eax, 7
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x84c], eax
jmp 0x54a59e
mov eax, dword [ebp - 0x84c]
inc eax
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x84c]
cmp eax, dword [ebp - 0x524]
jge 0x54a7f8
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x594], 0xd7
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x59c], 0x2f
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54a7f3
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
jmp 0x54a591
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x594], 0xd7
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x59c], 0x2f
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54aa55
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x594], 0xd7
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x59c], 0x2f
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a4], eax
movsd xmm0, qword [0xa567d0]
movsd qword [ebp - 0x70c], xmm0
movsd xmm0, qword [0xa56798]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [0xa56720]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [0xa56670]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [0xa559e0]
movsd qword [ebp - 0x834], xmm0
movsd xmm0, qword [0xa56490]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x83c]
mulsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x834]
subsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0x834], xmm0
movsd xmm0, qword [ebp - 0x834]
subsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0x834], xmm0
movsd xmm0, qword [ebp - 0xa04]
mulsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0x70c]
addsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0x70c], xmm0
movsd xmm0, qword [ebp - 0x834]
mulsd xmm0, qword [ebp - 0x6a0]
movsd qword [ebp - 0x834], xmm0
movsd xmm0, qword [ebp - 0x83c]
comisd xmm0, xmmword [ebp - 0x834]
jbe 0x54ac99
movsd xmm0, qword [ebp - 0x70c]
addsd xmm0, qword [ebp - 0x844]
movsd qword [ebp - 0x70c], xmm0
movsd xmm0, qword [ebp - 0x83c]
addsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x83c], xmm0
movsd xmm0, qword [ebp - 0x6a0]
subsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x6a0]
subsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x70c]
subsd xmm0, qword [ebp - 0x844]
movsd qword [ebp - 0x70c], xmm0
movsd xmm0, qword [ebp - 0x844]
mulsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x844], xmm0
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
jmp 0x54ad29
movsd xmm0, qword [ebp - 0x70c]
mulsd xmm0, qword [ebp - 0x844]
movsd qword [ebp - 0x70c], xmm0
movsd xmm0, qword [ebp - 0x6a0]
subsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x844]
mulsd xmm0, qword [ebp - 0x83c]
movsd qword [ebp - 0x844], xmm0
movsd xmm0, qword [ebp - 0x6a0]
mulsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x6a0]
subsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
movsd xmm0, qword [ebp - 0x6a0]
divsd xmm0, qword [ebp - 0x70c]
movsd qword [ebp - 0x6a0], xmm0
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54aed0
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
mov eax, dword [ebp - 0x524]
add eax, 8
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x850], eax
jmp 0x54aefb
mov eax, dword [ebp - 0x850]
inc eax
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x850]
cmp eax, dword [ebp - 0x524]
jge 0x54b155
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x594], 0xd7
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x59c], 0x2f
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54b150
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
jmp 0x54aeee
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x524]
inc eax
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4e0]
shl eax, 1
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5e4]
movzx eax, byte [eax]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x594], 0xd7
mov eax, dword [ebp - 0x4e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f4]
add eax, dword [ebp - 0x5f0]
movzx eax, byte [eax]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x59c], 0x2f
mov eax, dword [ebp - 0x590]
sub eax, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x598]
sub eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a0]
shl eax, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp - 0x60c]
mov byte [ebp - 0x4bd], al
movzx eax, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp - 0x4bb], al
movzx eax, byte [ebp - 0x4a6]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4aa]
add ecx, eax
mov byte [ebp - 0x4aa], cl
mov al, byte [ebp - 0x4a6]
add al, 1
mov byte [ebp - 0x4a6], al
movzx eax, byte [ebp - 0x4aa]
movzx ecx, byte [ebp - 0x4b2]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4ab]
movzx ecx, byte [ebp - 0x4aa]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
movzx ecx, byte [ebp - 0x4ab]
mov al, byte [ebp + eax - 0xb18]
mov byte [ebp + ecx - 0xb18], al
movzx eax, byte [ebp - 0x4a6]
mov cl, byte [ebp - 0x4bb]
mov byte [ebp + eax - 0xb18], cl
movzx eax, byte [ebp - 0x4bb]
movzx eax, byte [ebp + eax - 0xb18]
movzx ecx, byte [ebp - 0x4bc]
add ecx, eax
mov byte [ebp - 0x4bc], cl
movzx eax, byte [ebp - 0x4bd]
movzx ecx, byte [ebp - 0x4aa]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4a6]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ab]
movzx ecx, byte [ebp + ecx - 0xb18]
movzx edx, byte [ebp - 0x4b2]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
movzx edx, byte [ebp - 0x4bc]
movzx edx, byte [ebp + edx - 0xb18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb18]
movzx ecx, byte [ebp + ecx - 0xb18]
xor eax, ecx
mov byte [ebp - 0x4ab], al
mov al, byte [ebp - 0x4bd]
mov byte [ebp - 0x4b2], al
mov al, byte [ebp - 0x4ab]
mov byte [ebp - 0x4ce], al
cmp dword [ebp - 0x4e0], 0
jle 0x54b3b2
mov eax, dword [ebp - 0x4e0]
mov cl, byte [ebp - 0x4ce]
mov byte [ebp + eax - 0x4d], cl
xor eax, eax
inc eax
imul eax, eax, 0x12
mov dword [ebp - 0x884], eax
cmp dword [ebp - 0x884], 0x13
jae 0x54b3c9
jmp 0x54b3ce
call fcn.009d9277
mov eax, dword [ebp - 0x884]
mov byte [ebp + eax - 0x4c], 0
jmp 0x54b423
and dword [ebp - 0x7ec], 0
jmp 0x54b3f1
mov eax, dword [ebp - 0x7ec]
inc eax
mov dword [ebp - 0x7ec], eax
cmp dword [ebp - 0x7ec], 0x13
jge 0x54b423
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x88c], 0x13
jae 0x54b411
jmp 0x54b416
call fcn.009d9277
mov eax, dword [ebp - 0x88c]
mov byte [ebp + eax - 0x4c], 0
jmp 0x54b3e4
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
call fcn.00482890
mov dword [ebp - 0xa18], eax
push 0x104
lea eax, [ebp - 0x474]
push eax
push 0
call dword [ebp - 0xa18]
test eax, eax
je 0x5521e2
push 0x208
push 0
lea eax, [ebp - 0x26c]
push eax
call fcn.00a2a2c0
add esp, 0xc
lea eax, [ebp - 0x474]
mov dword [ebp - 0x854], eax
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0xe24], eax
mov eax, dword [ebp - 0x854]
mov ax, word [eax]
mov word [ebp - 0x74e], ax
mov eax, dword [ebp - 0x7f4]
mov cx, word [ebp - 0x74e]
mov word [eax], cx
mov eax, dword [ebp - 0x854]
inc eax
inc eax
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x7f4]
inc eax
inc eax
mov dword [ebp - 0x7f4], eax
cmp word [ebp - 0x74e], 0
jne 0x54b48e
push 0x2e
lea eax, [ebp - 0x26c]
push eax
call fcn.0055ce88
pop ecx
pop ecx
mov dword [ebp - 0x85c], eax
push 2
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x85c]
movzx eax, word [ecx + eax]
cmp eax, 0x78
jne 0x54b517
push 2
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x85c]
movzx eax, word [ecx + eax]
cmp eax, 0x65
je 0x54cf82
and dword [ebp - 0x4a4], 0
and dword [ebp - 0x498], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x7a8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x760], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x760], xmm0
jmp 0x54b560
movsd xmm0, qword [ebp - 0x760]
addsd xmm0, qword [0xa55360]
movsd qword [ebp - 0x760], xmm0
movsd xmm0, qword [0xa58e28]
comisd xmm0, xmmword [ebp - 0x760]
jbe 0x54b611
movsd xmm0, qword [0xa58dc8]
mulsd xmm0, qword [ebp - 0x760]
mulsd xmm0, qword [ebp - 0x760]
movsd xmm1, qword [ebp - 0x760]
mulsd xmm1, qword [ebp - 0x760]
subsd xmm0, xmm1
movsd xmm1, qword [0xa58d20]
mulsd xmm1, qword [ebp - 0x760]
mulsd xmm1, qword [ebp - 0x760]
addsd xmm1, qword [0xa58d30]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7a8]
movsd qword [ebp - 0x7a8], xmm0
movsd xmm0, qword [ebp - 0x7a8]
comisd xmm0, xmmword [0xa58d90]
jbe 0x54b60c
movsd xmm0, qword [0xa58d00]
mulsd xmm0, qword [ebp - 0x760]
movsd xmm1, qword [ebp - 0x7a8]
subsd xmm1, xmm0
movsd qword [ebp - 0x7a8], xmm1
jmp 0x54b548
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x7a8]
jbe 0x54b647
pop edi
push edi
pop esp
pop ecx
push 0x61575c58
push esi
jb 0x54b664
dec esi
sub dh, byte [esi]
inc ecx
and edx, dword [esp + ecx*2 + 0x70]
popal
sub dword [eax], esi
cmp byte [ecx], ch
push eax
ja 0x54b670
push edi
xor dword [edx + 0x65], edi
xor byte [edx + edi*2], ah
jmp 0x54ceaf
mov dword [ebp - 0x4a4], 0x54b61e
mov dword [ebp - 0x498], 0x54b628
mov eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x668], eax
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0xa10], eax
mov byte [ebp - 0x630], 0x1e
and dword [ebp - 0x534], 0
jmp 0x54b690
stc
invalid
cmc
invalid
mov eax, dword [ebp - 0x534]
inc eax
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 0x100
jae 0x54b6b1
mov eax, dword [ebp - 0x534]
mov cl, byte [ebp - 0x534]
mov byte [ebp + eax - 0xd20], cl
jmp 0x54b683
and dword [ebp - 0x724], 0
mov byte [ebp - 0x4c6], 0
mov dword [ebp - 0x534], 0xff
jmp 0x54b6d8
mov eax, dword [ebp - 0x534]
dec eax
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 0
jbe 0x54b95d
and dword [ebp - 0x858], 0
mov dword [ebp - 0x7f8], 1
mov eax, dword [ebp - 0x7f8]
cmp eax, dword [ebp - 0x534]
jae 0x54b716
mov eax, dword [ebp - 0x7f8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x7f8], eax
jmp 0x54b6f6
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x608], eax
cmp dword [ebp - 0x608], 0
je 0x54b75b
sub dword [ebp - 0x608], 1
je 0x54b789
sub dword [ebp - 0x608], 1
je 0x54b7ba
sub dword [ebp - 0x608], 1
je 0x54b7e8
jmp 0x54b816
movzx eax, byte [ebp - 0x4c6]
movzx ebx, byte [ebp + eax - 0xd20]
movsd xmm0, qword [ebp - 0x7a8]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c6], bl
jmp 0x54b83d
movzx eax, byte [ebp - 0x4c6]
movzx ebx, byte [ebp + eax - 0xd20]
movsd xmm0, qword [ebp - 0x7a8]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c6], bl
jmp 0x54b83d
movzx eax, byte [ebp - 0x4c6]
movzx ebx, byte [ebp + eax - 0xd20]
movsd xmm0, qword [ebp - 0x7a8]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c6], bl
jmp 0x54b83d
movzx eax, byte [ebp - 0x4c6]
movzx ebx, byte [ebp + eax - 0xd20]
movsd xmm0, qword [ebp - 0x7a8]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c6], bl
jmp 0x54b83d
movzx eax, byte [ebp - 0x4c6]
movzx eax, byte [ebp + eax - 0xd20]
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0x724]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x4c6], al
mov eax, dword [ebp - 0x724]
inc eax
mov dword [ebp - 0x724], eax
movzx eax, byte [ebp - 0x630]
cmp dword [ebp - 0x724], eax
jb 0x54b876
and dword [ebp - 0x724], 0
movzx eax, byte [ebp - 0x630]
movzx ecx, byte [ebp - 0x4c6]
add ecx, eax
mov byte [ebp - 0x4c6], cl
movzx eax, byte [ebp - 0x4c6]
and eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x6cc], eax
mov eax, dword [ebp - 0x858]
inc eax
mov dword [ebp - 0x858], eax
cmp dword [ebp - 0x858], 0xb
jbe 0x54b8b3
mov eax, dword [ebp - 0x6cc]
xor edx, edx
div dword [ebp - 0x534]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [ebp - 0x534]
ja 0x54b716
mov eax, dword [ebp - 0x534]
cmp eax, dword [ebp - 0x6cc]
je 0x54b958
mov eax, dword [ebp - 0x6cc]
movzx eax, byte [ebp + eax - 0xd20]
mov ecx, dword [ebp - 0x534]
movzx ecx, byte [ebp + ecx - 0xd20]
xor ecx, eax
mov eax, dword [ebp - 0x534]
mov byte [ebp + eax - 0xd20], cl
mov eax, dword [ebp - 0x534]
movzx eax, byte [ebp + eax - 0xd20]
mov ecx, dword [ebp - 0x6cc]
movzx ecx, byte [ebp + ecx - 0xd20]
xor ecx, eax
mov eax, dword [ebp - 0x6cc]
mov byte [ebp + eax - 0xd20], cl
mov eax, dword [ebp - 0x6cc]
movzx eax, byte [ebp + eax - 0xd20]
mov ecx, dword [ebp - 0x534]
movzx ecx, byte [ebp + ecx - 0xd20]
xor ecx, eax
mov eax, dword [ebp - 0x534]
mov byte [ebp + eax - 0xd20], cl
jmp 0x54b6cb
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4ac], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4b0], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c3], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4b1], al
movzx eax, byte [ebp - 0x4c6]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4b8], al
mov dword [ebp - 0x890], 0xa
cmp dword [ebp - 0x890], 2
jle 0x54ce63
mov eax, dword [ebp - 0x890]
and eax, 1
jne 0x54ce63
and dword [ebp - 0x500], 0
and dword [ebp - 0x670], 0
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
and dword [ebp - 0x66c], 0
mov eax, dword [ebp - 0x500]
shl eax, 1
mov dword [ebp - 0x66c], eax
and dword [ebp - 0x644], 0
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x66c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x644]
mov dword [ebp - 0x644], eax
and dword [ebp - 0x61c], 0
movsd xmm0, qword [0xa58fa0]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [0xa58f70]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [0xa58f20]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [0xa58ee0]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [0xa58ea0]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [0xa58e48]
movsd qword [ebp - 0x7b0], xmm0
movsd xmm0, qword [0xa58de0]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x618]
addsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x618]
subsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x678]
subsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x678]
mulsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x640]
addsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x748]
addsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [ebp - 0x618]
subsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x678]
comisd xmm0, xmmword [ebp - 0x65c]
jbe 0x54bc26
movsd xmm0, qword [ebp - 0x7b0]
mulsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x7b0], xmm0
movsd xmm0, qword [ebp - 0x680]
subsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [ebp - 0x748]
mulsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [ebp - 0x680]
mulsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [ebp - 0x618]
mulsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x680]
subsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [ebp - 0x680]
addsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x680], xmm0
mov eax, dword [ebp - 0x61c]
add eax, 0x5b
mov dword [ebp - 0x61c], eax
jmp 0x54bee1
movsd xmm0, qword [ebp - 0x678]
subsd xmm0, qword [ebp - 0x640]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x680]
addsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [ebp - 0x618]
subsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x640]
addsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x748]
divsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [ebp - 0x640]
mulsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x640]
subsd xmm0, qword [ebp - 0x65c]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x640]
mulsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x640]
subsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x65c]
divsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x618]
mulsd xmm0, qword [ebp - 0x640]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x748]
divsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [ebp - 0x680]
subsd xmm0, qword [ebp - 0x748]
movsd qword [ebp - 0x680], xmm0
movsd xmm0, qword [ebp - 0x618]
mulsd xmm0, qword [ebp - 0x640]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x7b0]
comisd xmm0, xmmword [ebp - 0x618]
jbe 0x54be39
movsd xmm0, qword [ebp - 0x678]
divsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x640]
divsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x678]
subsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x65c]
subsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x65c]
divsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x640]
mulsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x640], xmm0
movsd xmm0, qword [ebp - 0x680]
divsd xmm0, qword [ebp - 0x748]
movsd qword [ebp - 0x680], xmm0
jmp 0x54bee1
movsd xmm0, qword [ebp - 0x678]
mulsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x678], xmm0
movsd xmm0, qword [ebp - 0x748]
divsd xmm0, qword [ebp - 0x678]
movsd qword [ebp - 0x748], xmm0
movsd xmm0, qword [ebp - 0x65c]
mulsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x65c]
subsd xmm0, qword [ebp - 0x680]
movsd qword [ebp - 0x65c], xmm0
movsd xmm0, qword [ebp - 0x618]
mulsd xmm0, qword [ebp - 0x640]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x618]
subsd xmm0, qword [ebp - 0x640]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x640]
addsd xmm0, qword [ebp - 0x7b0]
movsd qword [ebp - 0x640], xmm0
and dword [ebp - 0x664], 0
mov eax, dword [ebp - 0x500]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x664], eax
and dword [ebp - 0x638], 0
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x664]
movzx eax, byte [eax]
add eax, dword [ebp - 0x638]
mov dword [ebp - 0x638], eax
and dword [ebp - 0x624], 0
mov eax, dword [ebp - 0x624]
add eax, 0x4d
mov dword [ebp - 0x624], eax
and dword [ebp - 0x628], 0
mov eax, dword [ebp - 0x644]
sub eax, dword [ebp - 0x61c]
add eax, dword [ebp - 0x628]
mov dword [ebp - 0x628], eax
and dword [ebp - 0x62c], 0
mov eax, dword [ebp - 0x638]
sub eax, dword [ebp - 0x624]
add eax, dword [ebp - 0x62c]
mov dword [ebp - 0x62c], eax
and dword [ebp - 0x654], 0
mov eax, dword [ebp - 0x628]
shl eax, 4
mov dword [ebp - 0x654], eax
and dword [ebp - 0x650], 0
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x650], eax
and dword [ebp - 0x660], 0
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x650]
mov dword [ebp - 0x660], eax
mov byte [ebp - 0x4c4], 0
mov al, byte [ebp - 0x660]
mov byte [ebp - 0x4c4], al
mov byte [ebp - 0x4c2], 0
movzx eax, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c2], al
movzx eax, byte [ebp - 0x4ac]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4b0]
add ecx, eax
mov byte [ebp - 0x4b0], cl
mov al, byte [ebp - 0x4ac]
add al, 1
mov byte [ebp - 0x4ac], al
movzx eax, byte [ebp - 0x4b0]
movzx ecx, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4b1]
movzx ecx, byte [ebp - 0x4b0]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
movzx ecx, byte [ebp - 0x4b1]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
mov cl, byte [ebp - 0x4c2]
mov byte [ebp + eax - 0xd20], cl
movzx eax, byte [ebp - 0x4c2]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4c3]
add ecx, eax
mov byte [ebp - 0x4c3], cl
movzx eax, byte [ebp - 0x4c4]
movzx ecx, byte [ebp - 0x4b0]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4ac]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b1]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4b8]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
movzx edx, byte [ebp - 0x4c3]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
mov byte [ebp - 0x4b1], al
mov al, byte [ebp - 0x4c4]
mov byte [ebp - 0x4b8], al
mov al, byte [ebp - 0x4b1]
mov byte [ebp - 0x4d9], al
cmp dword [ebp - 0x500], 0
jle 0x54c14a
movsx ax, byte [ebp - 0x4d9]
mov ecx, dword [ebp - 0x500]
mov word [ebp + ecx*2 - 0x1e], ax
mov eax, dword [ebp - 0x500]
inc eax
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x500]
shl eax, 1
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x66c]
movzx eax, byte [eax]
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x61c], 0x5b
mov eax, dword [ebp - 0x500]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x664]
movzx eax, byte [eax]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x624], 0x4d
mov eax, dword [ebp - 0x644]
sub eax, dword [ebp - 0x61c]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x638]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
shl eax, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x650]
mov dword [ebp - 0x660], eax
mov al, byte [ebp - 0x660]
mov byte [ebp - 0x4c4], al
movzx eax, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c2], al
movzx eax, byte [ebp - 0x4ac]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4b0]
add ecx, eax
mov byte [ebp - 0x4b0], cl
mov al, byte [ebp - 0x4ac]
add al, 1
mov byte [ebp - 0x4ac], al
movzx eax, byte [ebp - 0x4b0]
movzx ecx, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4b1]
movzx ecx, byte [ebp - 0x4b0]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
movzx ecx, byte [ebp - 0x4b1]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
mov cl, byte [ebp - 0x4c2]
mov byte [ebp + eax - 0xd20], cl
movzx eax, byte [ebp - 0x4c2]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4c3]
add ecx, eax
mov byte [ebp - 0x4c3], cl
movzx eax, byte [ebp - 0x4c4]
movzx ecx, byte [ebp - 0x4b0]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4ac]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b1]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4b8]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
movzx edx, byte [ebp - 0x4c3]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
mov byte [ebp - 0x4b1], al
mov al, byte [ebp - 0x4c4]
mov byte [ebp - 0x4b8], al
movsd xmm0, qword [0xa58f88]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [0xa58f38]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [0xa58f00]
movsd qword [ebp - 0x864], xmm0
movsd xmm0, qword [0xa58ec0]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [0xa58e58]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [0xa58de8]
movsd qword [ebp - 0x768], xmm0
movsd xmm0, qword [ebp - 0x8a4]
subsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x6dc]
mulsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [ebp - 0x734]
mulsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x6dc]
mulsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [ebp - 0x734]
addsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x734]
mulsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x768]
comisd xmm0, xmmword [ebp - 0x6dc]
jbe 0x54c510
movsd xmm0, qword [ebp - 0x8ac]
divsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x734]
subsd xmm0, qword [ebp - 0x6dc]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x8a4]
subsd xmm0, qword [ebp - 0x8ac]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x734]
mulsd xmm0, qword [ebp - 0x6dc]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x6dc]
subsd xmm0, qword [ebp - 0x864]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [ebp - 0x6dc]
addsd xmm0, qword [ebp - 0x864]
movsd qword [ebp - 0x6dc], xmm0
jmp 0x54c5ac
movsd xmm0, qword [ebp - 0x734]
subsd xmm0, qword [ebp - 0x6dc]
movsd qword [ebp - 0x734], xmm0
movsd xmm0, qword [ebp - 0x768]
mulsd xmm0, qword [ebp - 0x8a4]
movsd qword [ebp - 0x768], xmm0
movsd xmm0, qword [ebp - 0x6dc]
mulsd xmm0, qword [ebp - 0x864]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [ebp - 0x8ac]
mulsd xmm0, qword [ebp - 0x768]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [ebp - 0x6dc]
mulsd xmm0, qword [ebp - 0x864]
movsd qword [ebp - 0x6dc], xmm0
movsd xmm0, qword [ebp - 0x864]
mulsd xmm0, qword [ebp - 0x734]
movsd qword [ebp - 0x864], xmm0
mov al, byte [ebp - 0x4b1]
mov byte [ebp - 0x4d9], al
cmp dword [ebp - 0x500], 0
jle 0x54c5c8
movsx ax, byte [ebp - 0x4d9]
mov ecx, dword [ebp - 0x500]
mov word [ebp + ecx*2 - 0x1e], ax
mov eax, dword [ebp - 0x500]
inc eax
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x500]
shl eax, 1
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x66c]
movzx eax, byte [eax]
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x61c], 0x5b
mov eax, dword [ebp - 0x500]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x664]
movzx eax, byte [eax]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x624], 0x4d
mov eax, dword [ebp - 0x644]
sub eax, dword [ebp - 0x61c]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x638]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
shl eax, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x650]
mov dword [ebp - 0x660], eax
mov al, byte [ebp - 0x660]
mov byte [ebp - 0x4c4], al
movzx eax, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c2], al
movzx eax, byte [ebp - 0x4ac]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4b0]
add ecx, eax
mov byte [ebp - 0x4b0], cl
mov al, byte [ebp - 0x4ac]
add al, 1
mov byte [ebp - 0x4ac], al
movzx eax, byte [ebp - 0x4b0]
movzx ecx, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4b1]
movzx ecx, byte [ebp - 0x4b0]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
movzx ecx, byte [ebp - 0x4b1]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
mov cl, byte [ebp - 0x4c2]
mov byte [ebp + eax - 0xd20], cl
movzx eax, byte [ebp - 0x4c2]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4c3]
add ecx, eax
mov byte [ebp - 0x4c3], cl
movzx eax, byte [ebp - 0x4c4]
movzx ecx, byte [ebp - 0x4b0]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4ac]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b1]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4b8]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
movzx edx, byte [ebp - 0x4c3]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
mov byte [ebp - 0x4b1], al
mov al, byte [ebp - 0x4c4]
mov byte [ebp - 0x4b8], al
mov al, byte [ebp - 0x4b1]
mov byte [ebp - 0x4d9], al
cmp dword [ebp - 0x500], 0
jle 0x54c81b
movsx ax, byte [ebp - 0x4d9]
mov ecx, dword [ebp - 0x500]
mov word [ebp + ecx*2 - 0x1e], ax
mov eax, dword [ebp - 0x500]
inc eax
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x500]
shl eax, 1
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x66c]
movzx eax, byte [eax]
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x61c], 0x5b
mov eax, dword [ebp - 0x500]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x664]
movzx eax, byte [eax]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x624], 0x4d
mov eax, dword [ebp - 0x644]
sub eax, dword [ebp - 0x61c]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x638]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
shl eax, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x650]
mov dword [ebp - 0x660], eax
mov al, byte [ebp - 0x660]
mov byte [ebp - 0x4c4], al
movzx eax, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c2], al
movzx eax, byte [ebp - 0x4ac]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4b0]
add ecx, eax
mov byte [ebp - 0x4b0], cl
mov al, byte [ebp - 0x4ac]
add al, 1
mov byte [ebp - 0x4ac], al
movzx eax, byte [ebp - 0x4b0]
movzx ecx, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4b1]
movzx ecx, byte [ebp - 0x4b0]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
movzx ecx, byte [ebp - 0x4b1]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
mov cl, byte [ebp - 0x4c2]
mov byte [ebp + eax - 0xd20], cl
movzx eax, byte [ebp - 0x4c2]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4c3]
add ecx, eax
mov byte [ebp - 0x4c3], cl
movss xmm0, dword [0xa5915c]
movss dword [ebp - 0x704], xmm0
movss xmm0, dword [0xa59104]
movss dword [ebp - 0x604], xmm0
movss xmm0, dword [0xa590ac]
movss dword [ebp - 0x6e8], xmm0
movss xmm0, dword [0xa5904c]
movss dword [ebp - 0x600], xmm0
movss xmm0, dword [ebp - 0x604]
subss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x604], xmm0
movss xmm0, dword [ebp - 0x604]
mulss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x604], xmm0
movss xmm0, dword [ebp - 0x704]
mulss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x704], xmm0
movss xmm0, dword [ebp - 0x6e8]
mulss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x6e8], xmm0
movss xmm0, dword [ebp - 0x704]
comiss xmm0, dword [ebp - 0x600]
jbe 0x54cb51
movss xmm0, dword [ebp - 0x600]
addss xmm0, dword [ebp - 0x604]
movss dword [ebp - 0x600], xmm0
movss xmm0, dword [ebp - 0x604]
subss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x604], xmm0
movss xmm0, dword [ebp - 0x6e8]
addss xmm0, dword [ebp - 0x704]
movss dword [ebp - 0x6e8], xmm0
movss xmm0, dword [ebp - 0x604]
addss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x604], xmm0
movzx eax, byte [ebp - 0x4c4]
movzx ecx, byte [ebp - 0x4b0]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4ac]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b1]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4b8]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
movzx edx, byte [ebp - 0x4c3]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
mov byte [ebp - 0x4b1], al
jmp 0x54cbb1
movss xmm0, dword [ebp - 0x6e8]
mulss xmm0, dword [ebp - 0x704]
movss dword [ebp - 0x6e8], xmm0
movss xmm0, dword [ebp - 0x604]
subss xmm0, dword [ebp - 0x600]
movss dword [ebp - 0x604], xmm0
movss xmm0, dword [ebp - 0x600]
addss xmm0, dword [ebp - 0x604]
movss dword [ebp - 0x600], xmm0
movss xmm0, dword [ebp - 0x704]
mulss xmm0, dword [ebp - 0x6e8]
movss dword [ebp - 0x704], xmm0
mov al, byte [ebp - 0x4c4]
mov byte [ebp - 0x4b8], al
mov al, byte [ebp - 0x4b1]
mov byte [ebp - 0x4d9], al
cmp dword [ebp - 0x500], 0
jle 0x54cbe5
movsx ax, byte [ebp - 0x4d9]
mov ecx, dword [ebp - 0x500]
mov word [ebp + ecx*2 - 0x1e], ax
mov eax, dword [ebp - 0x500]
inc eax
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x500]
shl eax, 1
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x66c]
movzx eax, byte [eax]
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x61c], 0x5b
mov eax, dword [ebp - 0x500]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x664]
movzx eax, byte [eax]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x624], 0x4d
mov eax, dword [ebp - 0x644]
sub eax, dword [ebp - 0x61c]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x638]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
shl eax, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x650]
mov dword [ebp - 0x660], eax
mov al, byte [ebp - 0x660]
mov byte [ebp - 0x4c4], al
movzx eax, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp - 0x4c2], al
movzx eax, byte [ebp - 0x4ac]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4b0]
add ecx, eax
mov byte [ebp - 0x4b0], cl
mov al, byte [ebp - 0x4ac]
add al, 1
mov byte [ebp - 0x4ac], al
movzx eax, byte [ebp - 0x4b0]
movzx ecx, byte [ebp - 0x4b8]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4b1]
movzx ecx, byte [ebp - 0x4b0]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
movzx ecx, byte [ebp - 0x4b1]
mov al, byte [ebp + eax - 0xd20]
mov byte [ebp + ecx - 0xd20], al
movzx eax, byte [ebp - 0x4ac]
mov cl, byte [ebp - 0x4c2]
mov byte [ebp + eax - 0xd20], cl
movzx eax, byte [ebp - 0x4c2]
movzx eax, byte [ebp + eax - 0xd20]
movzx ecx, byte [ebp - 0x4c3]
add ecx, eax
mov byte [ebp - 0x4c3], cl
movzx eax, byte [ebp - 0x4c4]
movzx ecx, byte [ebp - 0x4b0]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4ac]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b1]
movzx ecx, byte [ebp + ecx - 0xd20]
movzx edx, byte [ebp - 0x4b8]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
movzx edx, byte [ebp - 0x4c3]
movzx edx, byte [ebp + edx - 0xd20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd20]
movzx ecx, byte [ebp + ecx - 0xd20]
xor eax, ecx
mov byte [ebp - 0x4b1], al
mov al, byte [ebp - 0x4c4]
mov byte [ebp - 0x4b8], al
mov al, byte [ebp - 0x4b1]
mov byte [ebp - 0x4d9], al
cmp dword [ebp - 0x500], 0
jle 0x54ce38
movsx ax, byte [ebp - 0x4d9]
mov ecx, dword [ebp - 0x500]
mov word [ebp + ecx*2 - 0x1e], ax
push 2
pop eax
shl eax, 2
mov dword [ebp - 0x894], eax
cmp dword [ebp - 0x894], 0xa
jae 0x54ce4f
jmp 0x54ce54
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x894]
mov word [ebp + ecx - 0x1c], ax
jmp 0x54ceaf
and dword [ebp - 0x7fc], 0
jmp 0x54ce79
mov eax, dword [ebp - 0x7fc]
inc eax
mov dword [ebp - 0x7fc], eax
cmp dword [ebp - 0x7fc], 5
jge 0x54ceaf
mov eax, dword [ebp - 0x7fc]
shl eax, 1
mov dword [ebp - 0x898], eax
cmp dword [ebp - 0x898], 0xa
jae 0x54ce9b
jmp 0x54cea0
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x898]
mov word [ebp + ecx - 0x1c], ax
jmp 0x54ce6c
xor eax, eax
mov ecx, dword [ebp - 0x85c]
mov word [ecx], ax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x74c]
mov ax, word [eax]
mov word [ebp - 0x824], ax
add dword [ebp - 0x74c], 2
cmp word [ebp - 0x824], 0
jne 0x54cecf
mov eax, dword [ebp - 0x74c]
sub eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0x89c]
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa0c], eax
lea eax, [ebp - 0x26c]
dec eax
dec eax
mov dword [ebp - 0x7e8], eax
mov eax, dword [ebp - 0x7e8]
mov ax, word [eax + 2]
mov word [ebp - 0x822], ax
add dword [ebp - 0x7e8], 2
cmp word [ebp - 0x822], 0
jne 0x54cf1c
mov edi, dword [ebp - 0x7e8]
mov esi, dword [ebp - 0xa14]
mov eax, dword [ebp - 0xa0c]
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 eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x474]
push eax
call fcn.00a302d4
pop ecx
pop ecx
lea eax, [ebp - 0x26c]
push eax
mov ecx, dword [ebp + 8]
call fcn.004d9956
lea eax, [ebp - 0x47c]
push eax
push 0
push dword [ebp + 8]
push 0x55228c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 4
lea ecx, [ebp - 0x478]
call fcn.00482640
lea ecx, [ebp - 0x478]
call fcn.004184a2
and dword [ebp - 4], 0
and dword [ebp - 0x494], 0
and dword [ebp - 0x490], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x7b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x770], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x770], xmm0
jmp 0x54d002
movsd xmm0, qword [ebp - 0x770]
addsd xmm0, qword [0xa55358]
movsd qword [ebp - 0x770], xmm0
movsd xmm0, qword [0xa57cb8]
comisd xmm0, xmmword [ebp - 0x770]
jbe 0x54d0b3
movsd xmm0, qword [0xa57c60]
mulsd xmm0, qword [ebp - 0x770]
mulsd xmm0, qword [ebp - 0x770]
movsd xmm1, qword [ebp - 0x770]
mulsd xmm1, qword [ebp - 0x770]
subsd xmm0, xmm1
movsd xmm1, qword [0xa57ba8]
mulsd xmm1, qword [ebp - 0x770]
mulsd xmm1, qword [ebp - 0x770]
addsd xmm1, qword [0xa57bf8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7b8]
movsd qword [ebp - 0x7b8], xmm0
movsd xmm0, qword [ebp - 0x7b8]
comisd xmm0, xmmword [0xa57c20]
jbe 0x54d0ae
movsd xmm0, qword [0xa57b88]
mulsd xmm0, qword [ebp - 0x770]
movsd xmm1, qword [ebp - 0x7b8]
subsd xmm1, xmm0
movsd qword [ebp - 0x7b8], xmm1
jmp 0x54cfea
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x7b8]
jbe 0x54d0f8
and eax, dword [ebx + 0x48]
jge 0x54d0ef
pop edx
push 0x5c286363
pop ecx
and al, 0x34
pop edi
xor byte [eax + ecx*2 + 0x59], bh
xor al, 0x78
dec ecx
je 0x54d140
dec esi
inc edx
outsd dx, dword [esi]
mov esp, 0xbbe7c5ed
out 0xc6, al
out dx, al
ret
shl ch, 0xbd
call fcn.006818e0
add bh, al
test dword [ebx + edi*8 - 1], ebp
invalid
mov dword [ebp - 0x494], 0x54d0db
mov dword [ebp - 0x490], 0x54d0c0
mov eax, dword [ebp - 0x494]
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x9fc], eax
mov byte [ebp - 0x62f], 0x1f
and dword [ebp - 0x530], 0
jmp 0x54d141
mov eax, dword [ebp - 0x530]
inc eax
mov dword [ebp - 0x530], eax
inc dword [ecx - 0x52f43]
inc dword [eax]
add dword [eax], eax
add byte [ebx + 0x15], dh
cmp dword [ebp - 0x530], 0x100
jae 0x54d162
mov eax, dword [ebp - 0x530]
mov cl, byte [ebp - 0x530]
mov byte [ebp + eax - 0xe20], cl
jmp 0x54d134
and dword [ebp - 0x738], 0
mov byte [ebp - 0x4c7], 0
mov dword [ebp - 0x530], 0xff
jmp 0x54d189
mov eax, dword [ebp - 0x530]
dec eax
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jbe 0x54d40e
and dword [ebp - 0x82c], 0
mov dword [ebp - 0x7e4], 1
mov eax, dword [ebp - 0x7e4]
cmp eax, dword [ebp - 0x530]
jae 0x54d1c7
mov eax, dword [ebp - 0x7e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x7e4], eax
jmp 0x54d1a7
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0xa08], eax
mov eax, dword [ebp - 0xa08]
mov dword [ebp - 0x5fc], eax
cmp dword [ebp - 0x5fc], 0
je 0x54d20c
sub dword [ebp - 0x5fc], 1
je 0x54d23a
sub dword [ebp - 0x5fc], 1
je 0x54d26b
sub dword [ebp - 0x5fc], 1
je 0x54d299
jmp 0x54d2c7
movzx eax, byte [ebp - 0x4c7]
movzx ebx, byte [ebp + eax - 0xe20]
movsd xmm0, qword [ebp - 0x7b8]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c7], bl
jmp 0x54d2ee
movzx eax, byte [ebp - 0x4c7]
movzx ebx, byte [ebp + eax - 0xe20]
movsd xmm0, qword [ebp - 0x7b8]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c7], bl
jmp 0x54d2ee
movzx eax, byte [ebp - 0x4c7]
movzx ebx, byte [ebp + eax - 0xe20]
movsd xmm0, qword [ebp - 0x7b8]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c7], bl
jmp 0x54d2ee
movzx eax, byte [ebp - 0x4c7]
movzx ebx, byte [ebp + eax - 0xe20]
movsd xmm0, qword [ebp - 0x7b8]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c7], bl
jmp 0x54d2ee
movzx eax, byte [ebp - 0x4c7]
movzx eax, byte [ebp + eax - 0xe20]
mov ecx, dword [ebp - 0x9fc]
add ecx, dword [ebp - 0x738]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x4c7], al
mov eax, dword [ebp - 0x738]
inc eax
mov dword [ebp - 0x738], eax
movzx eax, byte [ebp - 0x62f]
cmp dword [ebp - 0x738], eax
jb 0x54d327
and dword [ebp - 0x738], 0
movzx eax, byte [ebp - 0x62f]
movzx ecx, byte [ebp - 0x4c7]
add ecx, eax
mov byte [ebp - 0x4c7], cl
movzx eax, byte [ebp - 0x4c7]
and eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6d0], eax
mov eax, dword [ebp - 0x82c]
inc eax
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0xb
jbe 0x54d364
mov eax, dword [ebp - 0x6d0]
xor edx, edx
div dword [ebp - 0x530]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
cmp eax, dword [ebp - 0x530]
ja 0x54d1c7
mov eax, dword [ebp - 0x530]
cmp eax, dword [ebp - 0x6d0]
je 0x54d409
mov eax, dword [ebp - 0x6d0]
movzx eax, byte [ebp + eax - 0xe20]
mov ecx, dword [ebp - 0x530]
movzx ecx, byte [ebp + ecx - 0xe20]
xor ecx, eax
mov eax, dword [ebp - 0x530]
mov byte [ebp + eax - 0xe20], cl
mov eax, dword [ebp - 0x530]
movzx eax, byte [ebp + eax - 0xe20]
mov ecx, dword [ebp - 0x6d0]
movzx ecx, byte [ebp + ecx - 0xe20]
xor ecx, eax
mov eax, dword [ebp - 0x6d0]
mov byte [ebp + eax - 0xe20], cl
mov eax, dword [ebp - 0x6d0]
movzx eax, byte [ebp + eax - 0xe20]
mov ecx, dword [ebp - 0x530]
movzx ecx, byte [ebp + ecx - 0xe20]
xor ecx, eax
mov eax, dword [ebp - 0x530]
mov byte [ebp + eax - 0xe20], cl
jmp 0x54d17c
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4b3], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4b9], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4cc], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4ba], al
movzx eax, byte [ebp - 0x4c7]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4c1], al
mov dword [ebp - 0x8b8], 0x18
cmp dword [ebp - 0x8b8], 2
jle 0x54e3f3
mov eax, dword [ebp - 0x8b8]
and eax, 1
jne 0x54e3f3
and dword [ebp - 0x50c], 0
and dword [ebp - 0x564], 0
mov eax, dword [ebp - 0x564]
inc eax
mov dword [ebp - 0x564], eax
and dword [ebp - 0x6d4], 0
mov eax, dword [ebp - 0x50c]
shl eax, 1
mov dword [ebp - 0x6d4], eax
and dword [ebp - 0x690], 0
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6d4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x690]
mov dword [ebp - 0x690], eax
and dword [ebp - 0x688], 0
mov eax, dword [ebp - 0x688]
add eax, 0xb7
mov dword [ebp - 0x688], eax
and dword [ebp - 0x6b0], 0
mov eax, dword [ebp - 0x50c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x6b0], eax
and dword [ebp - 0x684], 0
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6b0]
movzx eax, byte [eax]
add eax, dword [ebp - 0x684]
mov dword [ebp - 0x684], eax
and dword [ebp - 0x698], 0
mov eax, dword [ebp - 0x698]
add eax, 0xe3
mov dword [ebp - 0x698], eax
and dword [ebp - 0x68c], 0
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x688]
add eax, dword [ebp - 0x68c]
mov dword [ebp - 0x68c], eax
and dword [ebp - 0x694], 0
mov eax, dword [ebp - 0x684]
sub eax, dword [ebp - 0x698]
add eax, dword [ebp - 0x694]
mov dword [ebp - 0x694], eax
and dword [ebp - 0x6b4], 0
mov eax, dword [ebp - 0x68c]
shl eax, 4
mov dword [ebp - 0x6b4], eax
and dword [ebp - 0x6b8], 0
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x6b8], eax
and dword [ebp - 0x6bc], 0
mov eax, dword [ebp - 0x6b4]
or eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 0x4cd], 0
mov al, byte [ebp - 0x6bc]
mov byte [ebp - 0x4cd], al
mov byte [ebp - 0x4cb], 0
movzx eax, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4cb], al
movzx eax, byte [ebp - 0x4b3]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4b9]
add ecx, eax
mov byte [ebp - 0x4b9], cl
mov al, byte [ebp - 0x4b3]
add al, 1
mov byte [ebp - 0x4b3], al
movzx eax, byte [ebp - 0x4b9]
movzx ecx, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4ba]
movzx ecx, byte [ebp - 0x4b9]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
movzx ecx, byte [ebp - 0x4ba]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
mov cl, byte [ebp - 0x4cb]
mov byte [ebp + eax - 0xe20], cl
movzx eax, byte [ebp - 0x4cb]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4cc]
add ecx, eax
mov byte [ebp - 0x4cc], cl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4b9]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4b3]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ba]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4c1]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
movzx edx, byte [ebp - 0x4cc]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
mov byte [ebp - 0x4ba], al
mov al, byte [ebp - 0x4cd]
mov byte [ebp - 0x4c1], al
mov al, byte [ebp - 0x4ba]
mov byte [ebp - 0x4e9], al
cmp dword [ebp - 0x50c], 0
jle 0x54d769
movsx ax, byte [ebp - 0x4e9]
mov ecx, dword [ebp - 0x50c]
mov word [ebp + ecx*2 - 0x66], ax
mov eax, dword [ebp - 0x564]
add eax, 5
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x50c]
inc eax
mov dword [ebp - 0x804], eax
jmp 0x54d794
mov eax, dword [ebp - 0x804]
inc eax
mov dword [ebp - 0x804], eax
mov eax, dword [ebp - 0x804]
cmp eax, dword [ebp - 0x564]
jge 0x54ddb7
mov eax, dword [ebp - 0x50c]
inc eax
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x50c]
shl eax, 1
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6d4]
movzx eax, byte [eax]
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x688], 0xb7
mov eax, dword [ebp - 0x50c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6b0]
movzx eax, byte [eax]
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x698], 0xe3
movsd xmm0, qword [0xa57ec8]
movsd qword [ebp - 0x714], xmm0
movsd xmm0, qword [0xa57e38]
movsd qword [ebp - 0x6a8], xmm0
movsd xmm0, qword [0xa57db8]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [0xa57cd8]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6e4]
mulsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [ebp - 0x6a8]
mulsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6a8], xmm0
movsd xmm0, qword [ebp - 0x6e4]
addsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [ebp - 0x6e4]
mulsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [ebp - 0x6e4]
comisd xmm0, xmmword [ebp - 0x584]
jbe 0x54d938
movsd xmm0, qword [ebp - 0x584]
subsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x584]
addsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x584]
mulsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6a8]
subsd xmm0, qword [ebp - 0x6e4]
movsd qword [ebp - 0x6a8], xmm0
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x688]
mov dword [ebp - 0x68c], eax
jmp 0x54dacc
movsd xmm0, qword [ebp - 0x6a8]
subsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6a8], xmm0
movsd xmm0, qword [ebp - 0x584]
mulsd xmm0, qword [ebp - 0x6a8]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6a8]
divsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6a8], xmm0
movsd xmm0, qword [ebp - 0x714]
divsd xmm0, qword [ebp - 0x6e4]
movsd qword [ebp - 0x714], xmm0
movsd xmm0, qword [ebp - 0x584]
divsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x584]
subsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x584]
divsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6a8]
addsd xmm0, qword [ebp - 0x6e4]
movsd qword [ebp - 0x6a8], xmm0
movsd xmm0, qword [ebp - 0x584]
comisd xmm0, xmmword [ebp - 0x6a8]
jbe 0x54da6c
movsd xmm0, qword [ebp - 0x714]
addsd xmm0, qword [ebp - 0x6a8]
movsd qword [ebp - 0x714], xmm0
movsd xmm0, qword [ebp - 0x6e4]
addsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [ebp - 0x584]
subsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6a8]
mulsd xmm0, qword [ebp - 0x6e4]
movsd qword [ebp - 0x6a8], xmm0
jmp 0x54dacc
movsd xmm0, qword [ebp - 0x6e4]
mulsd xmm0, qword [ebp - 0x584]
movsd qword [ebp - 0x6e4], xmm0
movsd xmm0, qword [ebp - 0x714]
subsd xmm0, qword [ebp - 0x6a8]
movsd qword [ebp - 0x714], xmm0
movsd xmm0, qword [ebp - 0x584]
divsd xmm0, qword [ebp - 0x714]
movsd qword [ebp - 0x584], xmm0
movsd xmm0, qword [ebp - 0x6a8]
mulsd xmm0, qword [ebp - 0x6e4]
movsd qword [ebp - 0x6a8], xmm0
mov eax, dword [ebp - 0x684]
sub eax, dword [ebp - 0x698]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x68c]
shl eax, 4
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b4]
or eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov al, byte [ebp - 0x6bc]
mov byte [ebp - 0x4cd], al
movzx eax, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4cb], al
movzx eax, byte [ebp - 0x4b3]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4b9]
add ecx, eax
mov byte [ebp - 0x4b9], cl
mov al, byte [ebp - 0x4b3]
add al, 1
mov byte [ebp - 0x4b3], al
movzx eax, byte [ebp - 0x4b9]
movzx ecx, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4ba]
movzx ecx, byte [ebp - 0x4b9]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
movzx ecx, byte [ebp - 0x4ba]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
mov cl, byte [ebp - 0x4cb]
mov byte [ebp + eax - 0xe20], cl
movzx eax, byte [ebp - 0x4cb]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4cc]
add ecx, eax
mov byte [ebp - 0x4cc], cl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4b9]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4b3]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ba]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4c1]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
movzx edx, byte [ebp - 0x4cc]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
mov byte [ebp - 0x4ba], al
movss xmm0, dword [0xa5800c]
movss dword [ebp - 0x8bc], xmm0
movss xmm0, dword [0xa57fbc]
movss dword [ebp - 0x560], xmm0
movss xmm0, dword [0xa57f70]
movss dword [ebp - 0x5b0], xmm0
movss xmm0, dword [ebp - 0x8bc]
addss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x8bc], xmm0
movss xmm0, dword [ebp - 0x560]
addss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x560], xmm0
movss xmm0, dword [ebp - 0x560]
addss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x560], xmm0
movss xmm0, dword [ebp - 0x5b0]
comiss xmm0, dword [ebp - 0x560]
jbe 0x54dd36
movss xmm0, dword [ebp - 0x560]
addss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x560], xmm0
movss xmm0, dword [ebp - 0x560]
mulss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x560], xmm0
movss xmm0, dword [ebp - 0x560]
subss xmm0, dword [ebp - 0x5b0]
movss dword [ebp - 0x560], xmm0
jmp 0x54dd8a
movss xmm0, dword [ebp - 0x5b0]
mulss xmm0, dword [ebp - 0x560]
movss dword [ebp - 0x5b0], xmm0
movss xmm0, dword [ebp - 0x5b0]
subss xmm0, dword [ebp - 0x560]
movss dword [ebp - 0x5b0], xmm0
movss xmm0, dword [ebp - 0x5b0]
subss xmm0, dword [ebp - 0x560]
movss dword [ebp - 0x5b0], xmm0
mov al, byte [ebp - 0x4cd]
mov byte [ebp - 0x4c1], al
mov al, byte [ebp - 0x4ba]
mov byte [ebp - 0x4e9], al
cmp dword [ebp - 0x50c], 0
jle 0x54ddb2
movsx ax, byte [ebp - 0x4e9]
mov ecx, dword [ebp - 0x50c]
mov word [ebp + ecx*2 - 0x66], ax
jmp 0x54d787
mov eax, dword [ebp - 0x564]
inc eax
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x564]
add eax, 5
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x50c]
inc eax
mov dword [ebp - 0x808], eax
jmp 0x54ddef
mov eax, dword [ebp - 0x808]
inc eax
mov dword [ebp - 0x808], eax
mov eax, dword [ebp - 0x808]
cmp eax, dword [ebp - 0x564]
jge 0x54e168
mov eax, dword [ebp - 0x50c]
inc eax
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x50c]
shl eax, 1
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6d4]
movzx eax, byte [eax]
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x688], 0xb7
mov eax, dword [ebp - 0x50c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6b0]
movzx eax, byte [eax]
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x698], 0xe3
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x688]
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x684]
sub eax, dword [ebp - 0x698]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x68c]
shl eax, 4
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b4]
or eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov al, byte [ebp - 0x6bc]
mov byte [ebp - 0x4cd], al
movzx eax, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4cb], al
movzx eax, byte [ebp - 0x4b3]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4b9]
add ecx, eax
mov byte [ebp - 0x4b9], cl
mov al, byte [ebp - 0x4b3]
add al, 1
mov byte [ebp - 0x4b3], al
movsd xmm0, qword [0xa57e60]
movsd qword [ebp - 0x8d4], xmm0
movsd xmm0, qword [0xa57dc8]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [0xa57cf8]
movsd qword [ebp - 0x778], xmm0
movsd xmm0, qword [ebp - 0x71c]
mulsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [ebp - 0x71c]
mulsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [ebp - 0x71c]
addsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [ebp - 0x778]
comisd xmm0, xmmword [ebp - 0x71c]
jbe 0x54dfdb
movsd xmm0, qword [ebp - 0x71c]
divsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [ebp - 0x8d4]
divsd xmm0, qword [ebp - 0x71c]
movsd qword [ebp - 0x8d4], xmm0
movsd xmm0, qword [ebp - 0x71c]
mulsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
jmp 0x54e03f
movsd xmm0, qword [ebp - 0x71c]
subsd xmm0, qword [ebp - 0x778]
movsd qword [ebp - 0x71c], xmm0
movsd xmm0, qword [ebp - 0x778]
mulsd xmm0, qword [ebp - 0x8d4]
movsd qword [ebp - 0x778], xmm0
movsd xmm0, qword [ebp - 0x778]
subsd xmm0, qword [ebp - 0x8d4]
movsd qword [ebp - 0x778], xmm0
movzx eax, byte [ebp - 0x4b9]
movzx ecx, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4ba]
movzx ecx, byte [ebp - 0x4b9]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
movzx ecx, byte [ebp - 0x4ba]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
mov cl, byte [ebp - 0x4cb]
mov byte [ebp + eax - 0xe20], cl
movzx eax, byte [ebp - 0x4cb]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4cc]
add ecx, eax
mov byte [ebp - 0x4cc], cl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4b9]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4b3]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ba]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4c1]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
movzx edx, byte [ebp - 0x4cc]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
mov byte [ebp - 0x4ba], al
mov al, byte [ebp - 0x4cd]
mov byte [ebp - 0x4c1], al
mov al, byte [ebp - 0x4ba]
mov byte [ebp - 0x4e9], al
cmp dword [ebp - 0x50c], 0
jle 0x54e163
movsx ax, byte [ebp - 0x4e9]
mov ecx, dword [ebp - 0x50c]
mov word [ebp + ecx*2 - 0x66], ax
jmp 0x54dde2
mov eax, dword [ebp - 0x564]
inc eax
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x50c]
inc eax
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x564]
inc eax
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x50c]
shl eax, 1
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6d4]
movzx eax, byte [eax]
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x688], 0xb7
mov eax, dword [ebp - 0x50c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x6ac]
add eax, dword [ebp - 0x6b0]
movzx eax, byte [eax]
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x698], 0xe3
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x688]
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x684]
sub eax, dword [ebp - 0x698]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x68c]
shl eax, 4
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b4]
or eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov al, byte [ebp - 0x6bc]
mov byte [ebp - 0x4cd], al
movzx eax, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp - 0x4cb], al
movzx eax, byte [ebp - 0x4b3]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4b9]
add ecx, eax
mov byte [ebp - 0x4b9], cl
mov al, byte [ebp - 0x4b3]
add al, 1
mov byte [ebp - 0x4b3], al
movzx eax, byte [ebp - 0x4b9]
movzx ecx, byte [ebp - 0x4c1]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4ba]
movzx ecx, byte [ebp - 0x4b9]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
movzx ecx, byte [ebp - 0x4ba]
mov al, byte [ebp + eax - 0xe20]
mov byte [ebp + ecx - 0xe20], al
movzx eax, byte [ebp - 0x4b3]
mov cl, byte [ebp - 0x4cb]
mov byte [ebp + eax - 0xe20], cl
movzx eax, byte [ebp - 0x4cb]
movzx eax, byte [ebp + eax - 0xe20]
movzx ecx, byte [ebp - 0x4cc]
add ecx, eax
mov byte [ebp - 0x4cc], cl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4b9]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4b3]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ba]
movzx ecx, byte [ebp + ecx - 0xe20]
movzx edx, byte [ebp - 0x4c1]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
movzx edx, byte [ebp - 0x4cc]
movzx edx, byte [ebp + edx - 0xe20]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe20]
movzx ecx, byte [ebp + ecx - 0xe20]
xor eax, ecx
mov byte [ebp - 0x4ba], al
mov al, byte [ebp - 0x4cd]
mov byte [ebp - 0x4c1], al
mov al, byte [ebp - 0x4ba]
mov byte [ebp - 0x4e9], al
cmp dword [ebp - 0x50c], 0
jle 0x54e3c8
movsx ax, byte [ebp - 0x4e9]
mov ecx, dword [ebp - 0x50c]
mov word [ebp + ecx*2 - 0x66], ax
push 2
pop eax
imul eax, eax, 0xb
mov dword [ebp - 0x8c0], eax
cmp dword [ebp - 0x8c0], 0x18
jae 0x54e3df
jmp 0x54e3e4
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x8c0]
mov word [ebp + ecx - 0x64], ax
jmp 0x54e43f
and dword [ebp - 0x7e0], 0
jmp 0x54e409
mov eax, dword [ebp - 0x7e0]
inc eax
mov dword [ebp - 0x7e0], eax
cmp dword [ebp - 0x7e0], 0xc
jge 0x54e43f
mov eax, dword [ebp - 0x7e0]
shl eax, 1
mov dword [ebp - 0x8c4], eax
cmp dword [ebp - 0x8c4], 0x18
jae 0x54e42b
jmp 0x54e430
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x8c4]
mov word [ebp + ecx - 0x64], ax
jmp 0x54e3fc
push 4
call fcn.009d8f2e
pop ecx
mov dword [ebp - 0x80c], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x80c], 0
je 0x54e47e
push 4
mov ecx, dword [ebp - 0x80c]
call fcn.00482640
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x80c]
call fcn.00482870
mov dword [ebp - 0x8c8], eax
jmp 0x54e485
and dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x9f8], eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], eax
and dword [ebp - 0x480], 0
and dword [ebp - 0x48c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x7c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x780], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x780], xmm0
jmp 0x54e4ea
movsd xmm0, qword [ebp - 0x780]
addsd xmm0, qword [0xa55360]
movsd qword [ebp - 0x780], xmm0
movsd xmm0, qword [0xa58e70]
comisd xmm0, xmmword [ebp - 0x780]
jbe 0x54e59b
movsd xmm0, qword [0xa58da8]
mulsd xmm0, qword [ebp - 0x780]
mulsd xmm0, qword [ebp - 0x780]
movsd xmm1, qword [ebp - 0x780]
mulsd xmm1, qword [ebp - 0x780]
subsd xmm0, xmm1
movsd xmm1, qword [0xa56970]
mulsd xmm1, qword [ebp - 0x780]
mulsd xmm1, qword [ebp - 0x780]
addsd xmm1, qword [0xa570b0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7c0]
movsd qword [ebp - 0x7c0], xmm0
movsd xmm0, qword [ebp - 0x7c0]
comisd xmm0, xmmword [0xa58d58]
jbe 0x54e596
movsd xmm0, qword [0xa58cc8]
mulsd xmm0, qword [ebp - 0x780]
movsd xmm1, qword [ebp - 0x7c0]
subsd xmm1, xmm0
movsd qword [ebp - 0x7c0], xmm1
jmp 0x54e4d2
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x7c0]
jbe 0x54e5de
cmp dh, byte [esi + 0x39]
js 0x54e5db
jne 0x54e5de
outsd dx, dword [esi]
jp 0x54e5e8
jo 0x54e5e6
jnp 0x54e5ea
jp 0x54e5ec
je 0x54e5e9
ja 0x54e5f1
je 0x54e5ea
outsd dx, dword [esi]
sub al, 0x6e
xor byte [esi + 0x38], ch
insd dword es:[edi], dx
aas
imul edi, dword ss:[edx + 0x3b], 0x4c
xor esi, dword [esp + esi]
sub eax, 0x21507b2e
sub byte ds:[eax + 0x69], dh
insb byte es:[edi], dx
jmp 0x550851
and al, byte [eax]
add bh, al
test dword [eax - 0x57000005], eax
in eax, 0x54
mov dword [ebp - 0x480], 0x54e5a8
push esp
add bh, al
mov dword [ebp - 0x48c], 0x54e5c4
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x9f0], eax
mov byte [ebp - 0x62e], 0x19
and dword [ebp - 0x52c], 0
jmp 0x54e627
test dword [ebx + edi*8 - 1], esi
inc esp
in eax, 0x54
je 0x54e5e7
invalid
add byte [ebx - 0x47f7b], cl
dec dword [ecx - 0x5677b]
dec dword [ebx - 0x48b7b]
dec dword [ecx - 0x9ef7b]
inc esi
test edx, edx
stc
invalid
mov eax, dword [ebp - 0x52c]
inc eax
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0x100
jae 0x54e648
mov eax, dword [ebp - 0x52c]
mov cl, byte [ebp - 0x52c]
mov byte [ebp + eax - 0x9d4], cl
jmp 0x54e61a
and dword [ebp - 0x73c], 0
mov byte [ebp - 0x4c8], 0
mov dword [ebp - 0x52c], 0xff
jmp 0x54e66f
mov eax, dword [ebp - 0x52c]
dec eax
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jbe 0x54e8f4
and dword [ebp - 0x810], 0
mov dword [ebp - 0x7dc], 1
mov eax, dword [ebp - 0x7dc]
cmp eax, dword [ebp - 0x52c]
jae 0x54e6ad
mov eax, dword [ebp - 0x7dc]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x7dc], eax
jmp 0x54e68d
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x9f4], eax
mov eax, dword [ebp - 0x9f4]
mov dword [ebp - 0x610], eax
cmp dword [ebp - 0x610], 0
je 0x54e6f2
sub dword [ebp - 0x610], 1
je 0x54e720
sub dword [ebp - 0x610], 1
je 0x54e751
sub dword [ebp - 0x610], 1
je 0x54e77f
jmp 0x54e7ad
movzx eax, byte [ebp - 0x4c8]
movzx ebx, byte [ebp + eax - 0x9d4]
movsd xmm0, qword [ebp - 0x7c0]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c8], bl
jmp 0x54e7d4
movzx eax, byte [ebp - 0x4c8]
movzx ebx, byte [ebp + eax - 0x9d4]
movsd xmm0, qword [ebp - 0x7c0]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c8], bl
jmp 0x54e7d4
movzx eax, byte [ebp - 0x4c8]
movzx ebx, byte [ebp + eax - 0x9d4]
movsd xmm0, qword [ebp - 0x7c0]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c8], bl
jmp 0x54e7d4
movzx eax, byte [ebp - 0x4c8]
movzx ebx, byte [ebp + eax - 0x9d4]
movsd xmm0, qword [ebp - 0x7c0]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c8], bl
jmp 0x54e7d4
movzx eax, byte [ebp - 0x4c8]
movzx eax, byte [ebp + eax - 0x9d4]
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x73c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x4c8], al
mov eax, dword [ebp - 0x73c]
inc eax
mov dword [ebp - 0x73c], eax
movzx eax, byte [ebp - 0x62e]
cmp dword [ebp - 0x73c], eax
jb 0x54e80d
and dword [ebp - 0x73c], 0
movzx eax, byte [ebp - 0x62e]
movzx ecx, byte [ebp - 0x4c8]
add ecx, eax
mov byte [ebp - 0x4c8], cl
movzx eax, byte [ebp - 0x4c8]
and eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x6c0], eax
mov eax, dword [ebp - 0x810]
inc eax
mov dword [ebp - 0x810], eax
cmp dword [ebp - 0x810], 0xb
jbe 0x54e84a
mov eax, dword [ebp - 0x6c0]
xor edx, edx
div dword [ebp - 0x52c]
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c0]
cmp eax, dword [ebp - 0x52c]
ja 0x54e6ad
mov eax, dword [ebp - 0x52c]
cmp eax, dword [ebp - 0x6c0]
je 0x54e8ef
mov eax, dword [ebp - 0x6c0]
movzx eax, byte [ebp + eax - 0x9d4]
mov ecx, dword [ebp - 0x52c]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor ecx, eax
mov eax, dword [ebp - 0x52c]
mov byte [ebp + eax - 0x9d4], cl
mov eax, dword [ebp - 0x52c]
movzx eax, byte [ebp + eax - 0x9d4]
mov ecx, dword [ebp - 0x6c0]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor ecx, eax
mov eax, dword [ebp - 0x6c0]
mov byte [ebp + eax - 0x9d4], cl
mov eax, dword [ebp - 0x6c0]
movzx eax, byte [ebp + eax - 0x9d4]
mov ecx, dword [ebp - 0x52c]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor ecx, eax
mov eax, dword [ebp - 0x52c]
mov byte [ebp + eax - 0x9d4], cl
jmp 0x54e662
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4a5], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4a8], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b6], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4a9], al
movzx eax, byte [ebp - 0x4c8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4af], al
mov dword [ebp - 0x8cc], 0x1c
cmp dword [ebp - 0x8cc], 2
jle 0x550809
mov eax, dword [ebp - 0x8cc]
and eax, 1
jne 0x550809
and dword [ebp - 0x4d4], 0
and dword [ebp - 0x518], 0
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
and dword [ebp - 0x57c], 0
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
and dword [ebp - 0x54c], 0
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x54c]
mov dword [ebp - 0x54c], eax
and dword [ebp - 0x554], 0
mov eax, dword [ebp - 0x554]
add eax, 0x2b
mov dword [ebp - 0x554], eax
and dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
and dword [ebp - 0x548], 0
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x548]
mov dword [ebp - 0x548], eax
and dword [ebp - 0x544], 0
mov eax, dword [ebp - 0x544]
add eax, 0x6e
mov dword [ebp - 0x544], eax
and dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
add eax, dword [ebp - 0x550]
mov dword [ebp - 0x550], eax
and dword [ebp - 0x558], 0
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
add eax, dword [ebp - 0x558]
mov dword [ebp - 0x558], eax
and dword [ebp - 0x570], 0
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
and dword [ebp - 0x574], 0
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
and dword [ebp - 0x578], 0
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov byte [ebp - 0x4b5], 0
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
mov byte [ebp - 0x4b7], 0
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x54ec48
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
movsd xmm0, qword [0xa58fe8]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [0xa58fb8]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [0xa58f40]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [0xa58ed8]
movsd qword [ebp - 0x6f8], xmm0
movsd xmm0, qword [0xa58e38]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x700]
addsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [ebp - 0x6f0]
addsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [ebp - 0x700]
addsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [ebp - 0x64c]
subsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x6f8]
addsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x6f8], xmm0
movsd xmm0, qword [ebp - 0x5ac]
comisd xmm0, xmmword [ebp - 0x6f0]
jbe 0x54ef47
movsd xmm0, qword [ebp - 0x5ac]
divsd xmm0, qword [ebp - 0x6f0]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x64c]
subsd xmm0, qword [ebp - 0x700]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x6f0]
divsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [ebp - 0x6f0]
addsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [ebp - 0x6f8]
divsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x6f8], xmm0
movsd xmm0, qword [ebp - 0x64c]
divsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x5ac]
subsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x64c]
mulsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x6f0]
mulsd xmm0, qword [ebp - 0x700]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [ebp - 0x5ac]
mulsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x700]
comisd xmm0, xmmword [ebp - 0x6f0]
jbe 0x54eeca
movsd xmm0, qword [ebp - 0x700]
subsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [ebp - 0x5ac]
addsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x5ac]
addsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x5ac]
addsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x6f8]
divsd xmm0, qword [ebp - 0x6f0]
movsd qword [ebp - 0x6f8], xmm0
jmp 0x54ef42
movsd xmm0, qword [ebp - 0x700]
mulsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [ebp - 0x64c]
subsd xmm0, qword [ebp - 0x700]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x6f8]
divsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x6f8], xmm0
movsd xmm0, qword [ebp - 0x5ac]
mulsd xmm0, qword [ebp - 0x6f0]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x6f8]
addsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x6f8], xmm0
jmp 0x54efd4
movsd xmm0, qword [ebp - 0x64c]
mulsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x64c], xmm0
movsd xmm0, qword [ebp - 0x5ac]
subsd xmm0, qword [ebp - 0x64c]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x700]
subsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x700], xmm0
movsd xmm0, qword [ebp - 0x6f0]
addsd xmm0, qword [ebp - 0x700]
movsd qword [ebp - 0x6f0], xmm0
movsd xmm0, qword [ebp - 0x64c]
mulsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x64c], xmm0
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
movss xmm0, dword [0xa59138]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [0xa590c8]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [0xa59064]
movss dword [ebp - 0x504], xmm0
movss xmm0, dword [ebp - 0x4fc]
subss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4f0]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x504]
comiss xmm0, dword [ebp - 0x4f0]
jbe 0x54f30f
movss xmm0, dword [ebp - 0x4f0]
divss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
divss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4fc]
mulss xmm0, dword [ebp - 0x4f0]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4fc]
addss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4fc]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4f0]
addss xmm0, dword [ebp - 0x4fc]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
comiss xmm0, dword [ebp - 0x4fc]
jbe 0x54f2c5
movss xmm0, dword [ebp - 0x4fc]
subss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4f0]
addss xmm0, dword [ebp - 0x4fc]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
divss xmm0, dword [ebp - 0x4fc]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4fc]
addss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x504]
mulss xmm0, dword [ebp - 0x4f0]
movss dword [ebp - 0x504], xmm0
movss xmm0, dword [ebp - 0x504]
addss xmm0, dword [ebp - 0x4f0]
movss dword [ebp - 0x504], xmm0
movss xmm0, dword [ebp - 0x504]
comiss xmm0, dword [ebp - 0x4fc]
jbe 0x54f27b
movss xmm0, dword [ebp - 0x4fc]
subss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4fc]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4fc]
divss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4fc], xmm0
jmp 0x54f2c3
movss xmm0, dword [ebp - 0x4f0]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
subss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
divss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
jmp 0x54f30d
movss xmm0, dword [ebp - 0x4fc]
subss xmm0, dword [ebp - 0x4f0]
movss dword [ebp - 0x4fc], xmm0
movss xmm0, dword [ebp - 0x4f0]
mulss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
movss xmm0, dword [ebp - 0x4f0]
divss xmm0, dword [ebp - 0x504]
movss dword [ebp - 0x4f0], xmm0
jmp 0x54f363
movss xmm0, dword [ebp - 0x504]
mulss xmm0, dword [ebp - 0x4fc]
movss dword [ebp - 0x504], xmm0
movss xmm0, dword [ebp - 0x504]
subss xmm0, dword [ebp - 0x4fc]
movss dword [ebp - 0x504], xmm0
movss xmm0, dword [ebp - 0x4fc]
subss xmm0, dword [ebp - 0x4f0]
movss dword [ebp - 0x4fc], xmm0
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x54f4e0
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
mov eax, dword [ebp - 0x518]
add eax, 4
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x814], eax
jmp 0x54f50b
mov eax, dword [ebp - 0x814]
inc eax
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x518]
jge 0x54f765
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x54f760
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
jmp 0x54f4fe
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movss xmm0, dword [0xa59184]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [0xa59150]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [0xa5910c]
movss dword [ebp - 0x53c], xmm0
movss xmm0, dword [0xa590cc]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [0xa59080]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [0xa5902c]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x540]
subss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [ebp - 0x528]
mulss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x53c]
mulss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x53c], xmm0
movss xmm0, dword [ebp - 0x540]
subss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [ebp - 0x528]
mulss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x510]
mulss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x514]
comiss xmm0, dword [ebp - 0x528]
jbe 0x54fc3d
movss xmm0, dword [ebp - 0x53c]
addss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x53c], xmm0
movss xmm0, dword [ebp - 0x514]
addss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x514]
mulss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x55c]
addss xmm0, dword [ebp - 0x528]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x514]
divss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x510]
subss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x540]
mulss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [ebp - 0x540]
subss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [ebp - 0x510]
mulss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x528]
addss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x53c]
divss xmm0, dword [ebp - 0x528]
movss dword [ebp - 0x53c], xmm0
movss xmm0, dword [ebp - 0x510]
divss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x510]
comiss xmm0, dword [ebp - 0x55c]
jbe 0x54fba8
movss xmm0, dword [ebp - 0x510]
divss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x510]
subss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x528]
mulss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x540]
mulss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [ebp - 0x514]
subss xmm0, dword [ebp - 0x510]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x55c]
divss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x55c], xmm0
jmp 0x54fc38
movss xmm0, dword [ebp - 0x510]
subss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x514]
mulss xmm0, dword [ebp - 0x510]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x55c]
addss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x53c]
subss xmm0, dword [ebp - 0x528]
movss dword [ebp - 0x53c], xmm0
movss xmm0, dword [ebp - 0x528]
addss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x53c]
mulss xmm0, dword [ebp - 0x528]
movss dword [ebp - 0x53c], xmm0
jmp 0x54fce1
movss xmm0, dword [ebp - 0x55c]
addss xmm0, dword [ebp - 0x528]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x528]
subss xmm0, dword [ebp - 0x514]
movss dword [ebp - 0x528], xmm0
movss xmm0, dword [ebp - 0x510]
addss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x510]
mulss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x510], xmm0
movss xmm0, dword [ebp - 0x514]
addss xmm0, dword [ebp - 0x540]
movss dword [ebp - 0x514], xmm0
movss xmm0, dword [ebp - 0x510]
subss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x510], xmm0
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x54fdb6
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
movss xmm0, dword [0xa59158]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [0xa590ec]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [0xa59070]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4f8]
addss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [ebp - 0x508]
addss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4f8]
mulss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [ebp - 0x4e8]
comiss xmm0, dword [ebp - 0x4f8]
jbe 0x55010f
movss xmm0, dword [ebp - 0x508]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x508]
subss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4e8]
divss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x508]
subss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4e8]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4e8]
addss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x508]
comiss xmm0, dword [ebp - 0x4e8]
jbe 0x54ffda
movss xmm0, dword [ebp - 0x4e8]
subss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4e8]
mulss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4f8]
subss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x4f8], xmm0
jmp 0x55010d
movss xmm0, dword [ebp - 0x508]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4f8]
subss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [ebp - 0x508]
divss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4f8]
addss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [ebp - 0x508]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x508]
addss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x508]
comiss xmm0, dword [ebp - 0x4e8]
jbe 0x5500c5
movss xmm0, dword [ebp - 0x508]
divss xmm0, dword [ebp - 0x4e8]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x4e8]
divss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4e8]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
jmp 0x55010d
movss xmm0, dword [ebp - 0x4e8]
mulss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4e8]
divss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4f8]
addss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x4f8], xmm0
jmp 0x550163
movss xmm0, dword [ebp - 0x4f8]
addss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x4f8], xmm0
movss xmm0, dword [ebp - 0x4e8]
subss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
movss xmm0, dword [ebp - 0x4e8]
addss xmm0, dword [ebp - 0x4f8]
movss dword [ebp - 0x4e8], xmm0
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x5502fe
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
mov eax, dword [ebp - 0x518]
add eax, 5
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x818], eax
jmp 0x550329
mov eax, dword [ebp - 0x818]
inc eax
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x818]
cmp eax, dword [ebp - 0x518]
jge 0x550583
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x55057e
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
jmp 0x55031c
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
inc eax
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x4d4]
shl eax, 1
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x57c]
movzx eax, byte [eax]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x554], 0x2b
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
add eax, dword [ebp - 0x56c]
movzx eax, byte [eax]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], 0x6e
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x550]
shl eax, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x570]
or eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov al, byte [ebp - 0x578]
mov byte [ebp - 0x4b5], al
movzx eax, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ebp - 0x4a5]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4a8]
add ecx, eax
mov byte [ebp - 0x4a8], cl
mov al, byte [ebp - 0x4a5]
add al, 1
mov byte [ebp - 0x4a5], al
movzx eax, byte [ebp - 0x4a8]
movzx ecx, byte [ebp - 0x4af]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a9]
movzx ecx, byte [ebp - 0x4a8]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
movzx ecx, byte [ebp - 0x4a9]
mov al, byte [ebp + eax - 0x9d4]
mov byte [ebp + ecx - 0x9d4], al
movzx eax, byte [ebp - 0x4a5]
mov cl, byte [ebp - 0x4b7]
mov byte [ebp + eax - 0x9d4], cl
movzx eax, byte [ebp - 0x4b7]
movzx eax, byte [ebp + eax - 0x9d4]
movzx ecx, byte [ebp - 0x4b6]
add ecx, eax
mov byte [ebp - 0x4b6], cl
movzx eax, byte [ebp - 0x4b5]
movzx ecx, byte [ebp - 0x4a8]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4a5]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
movzx ecx, byte [ebp - 0x4a9]
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx edx, byte [ebp - 0x4af]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
movzx edx, byte [ebp - 0x4b6]
movzx edx, byte [ebp + edx - 0x9d4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d4]
movzx ecx, byte [ebp + ecx - 0x9d4]
xor eax, ecx
mov byte [ebp - 0x4a9], al
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x4af], al
mov al, byte [ebp - 0x4a9]
mov byte [ebp - 0x4ca], al
cmp dword [ebp - 0x4d4], 0
jle 0x5507e0
mov eax, dword [ebp - 0x4d4]
mov cl, byte [ebp - 0x4ca]
mov byte [ebp + eax - 0x39], cl
xor eax, eax
inc eax
imul eax, eax, 0xd
mov dword [ebp - 0x870], eax
cmp dword [ebp - 0x870], 0xe
jae 0x5507f7
jmp 0x5507fc
call fcn.009d9277
mov eax, dword [ebp - 0x870]
mov byte [ebp + eax - 0x38], 0
jmp 0x550851
and dword [ebp - 0x800], 0
jmp 0x55081f
mov eax, dword [ebp - 0x800]
inc eax
mov dword [ebp - 0x800], eax
cmp dword [ebp - 0x800], 0xe
jge 0x550851
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x874], eax
cmp dword [ebp - 0x874], 0xe
jae 0x55083f
jmp 0x550844
call fcn.009d9277
mov eax, dword [ebp - 0x874]
mov byte [ebp + eax - 0x38], 0
jmp 0x550812
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x9ec]
call fcn.00482890
mov dword [ebp - 0x9e0], eax
and dword [ebp - 0x488], 0
and dword [ebp - 0x484], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x7c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x788], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x788], xmm0
jmp 0x5508af
movsd xmm0, qword [ebp - 0x788]
addsd xmm0, qword [0xa55360]
movsd qword [ebp - 0x788], xmm0
movsd xmm0, qword [0xa58e50]
comisd xmm0, xmmword [ebp - 0x788]
jbe 0x550960
movsd xmm0, qword [0xa58db8]
mulsd xmm0, qword [ebp - 0x788]
mulsd xmm0, qword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x788]
mulsd xmm1, qword [ebp - 0x788]
subsd xmm0, xmm1
movsd xmm1, qword [0xa57050]
mulsd xmm1, qword [ebp - 0x788]
mulsd xmm1, qword [ebp - 0x788]
addsd xmm1, qword [0xa58d40]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7c8]
movsd qword [ebp - 0x7c8], xmm0
movsd xmm0, qword [ebp - 0x7c8]
comisd xmm0, xmmword [0xa58d70]
jbe 0x55095b
movsd xmm0, qword [0xa58ce8]
add eax, 0xa58ce8
mulsd xmm0, qword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x7c8]
subsd xmm1, xmm0
movsd qword [ebp - 0x7c8], xmm1
clc
invalid
lea edi, [eax]
clc
invalid
jmp 0x550897
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x7c8]
jbe 0x55099e
sub edx, dword [edx + 0x31]
xor dword [edi + 0x6e], eax
dec esi
pop ecx
sub al, 0x23
and ah, byte [ecx + 0x7b]
pushal
pushal
xor dword [esi], edi
cmp dword [ebx + 0x49], ebx
jl 0x550a02
jae 0x5509e7
insb byte es:[edi], dx
popal
jp 0x550a02
movsd dword es:[edi], dword [esi]
jg 0x55093f
jg 0x55093f
js 0x55093a
jns 0x550944
jne 0x55094a
jmp 0x552147
mov dword [ebp - 0x488], 0x55098d
mov dword [ebp - 0x484], 0x55096d
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x9e4], eax
mov byte [ebp - 0x62d], 0x24
and dword [ebp - 0x51c], 0
jmp 0x5509e7
mov eax, dword [ebp - 0x51c]
inc eax
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0x100
jae 0x550a08
mov eax, dword [ebp - 0x51c]
mov cl, byte [ebp - 0x51c]
mov byte [ebp + eax - 0xc18], cl
jmp 0x5509da
call 0xec5509fa
rol byte [ebx - 0x73f5b], cl
inc dword [eax]
and dword [ebp - 0x740], 0
mov byte [ebp - 0x4c9], 0
mov dword [ebp - 0x51c], 0xff
jmp 0x550a2f
mov eax, dword [ebp - 0x51c]
dec eax
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
jbe 0x550cb4
and dword [ebp - 0x81c], 0
mov dword [ebp - 0x7d8], 1
mov eax, dword [ebp - 0x7d8]
cmp eax, dword [ebp - 0x51c]
jae 0x550a6d
mov eax, dword [ebp - 0x7d8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x7d8], eax
jmp 0x550a4d
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x5c4], eax
cmp dword [ebp - 0x5c4], 0
je 0x550ab2
sub dword [ebp - 0x5c4], 1
je 0x550ae0
sub dword [ebp - 0x5c4], 1
je 0x550b11
sub dword [ebp - 0x5c4], 1
je 0x550b3f
jmp 0x550b6d
movzx eax, byte [ebp - 0x4c9]
movzx ebx, byte [ebp + eax - 0xc18]
movsd xmm0, qword [ebp - 0x7c8]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c9], bl
jmp 0x550b94
movzx eax, byte [ebp - 0x4c9]
movzx ebx, byte [ebp + eax - 0xc18]
movsd xmm0, qword [ebp - 0x7c8]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c9], bl
jmp 0x550b94
movzx eax, byte [ebp - 0x4c9]
movzx ebx, byte [ebp + eax - 0xc18]
movsd xmm0, qword [ebp - 0x7c8]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c9], bl
jmp 0x550b94
movzx eax, byte [ebp - 0x4c9]
movzx ebx, byte [ebp + eax - 0xc18]
movsd xmm0, qword [ebp - 0x7c8]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x4c9], bl
jmp 0x550b94
movzx eax, byte [ebp - 0x4c9]
movzx eax, byte [ebp + eax - 0xc18]
mov ecx, dword [ebp - 0x9e4]
add ecx, dword [ebp - 0x740]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x4c9], al
mov eax, dword [ebp - 0x740]
inc eax
mov dword [ebp - 0x740], eax
movzx eax, byte [ebp - 0x62d]
cmp dword [ebp - 0x740], eax
jb 0x550bcd
and dword [ebp - 0x740], 0
movzx eax, byte [ebp - 0x62d]
movzx ecx, byte [ebp - 0x4c9]
add ecx, eax
mov byte [ebp - 0x4c9], cl
movzx eax, byte [ebp - 0x4c9]
and eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x6c4], eax
mov eax, dword [ebp - 0x81c]
inc eax
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0xb
jbe 0x550c0a
mov eax, dword [ebp - 0x6c4]
xor edx, edx
div dword [ebp - 0x51c]
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c4]
cmp eax, dword [ebp - 0x51c]
ja 0x550a6d
mov eax, dword [ebp - 0x51c]
cmp eax, dword [ebp - 0x6c4]
je 0x550caf
mov eax, dword [ebp - 0x6c4]
movzx eax, byte [ebp + eax - 0xc18]
mov ecx, dword [ebp - 0x51c]
movzx ecx, byte [ebp + ecx - 0xc18]
xor ecx, eax
mov eax, dword [ebp - 0x51c]
mov byte [ebp + eax - 0xc18], cl
mov eax, dword [ebp - 0x51c]
movzx eax, byte [ebp + eax - 0xc18]
mov ecx, dword [ebp - 0x6c4]
movzx ecx, byte [ebp + ecx - 0xc18]
xor ecx, eax
mov eax, dword [ebp - 0x6c4]
mov byte [ebp + eax - 0xc18], cl
mov eax, dword [ebp - 0x6c4]
movzx eax, byte [ebp + eax - 0xc18]
mov ecx, dword [ebp - 0x51c]
movzx ecx, byte [ebp + ecx - 0xc18]
xor ecx, eax
mov eax, dword [ebp - 0x51c]
mov byte [ebp + eax - 0xc18], cl
jmp 0x550a22
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4a7], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4ad], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4bf], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4ae], al
movzx eax, byte [ebp - 0x4c9]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4b4], al
mov dword [ebp - 0x878], 0xc
cmp dword [ebp - 0x878], 2
jle 0x5520fb
mov eax, dword [ebp - 0x878]
and eax, 1
jne 0x5520fb
and dword [ebp - 0x4e4], 0
and dword [ebp - 0x5c8], 0
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
and dword [ebp - 0x5cc], 0
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
and dword [ebp - 0x5b4], 0
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b4], eax
and dword [ebp - 0x5b8], 0
mov eax, dword [ebp - 0x5b8]
add eax, 0x72
mov dword [ebp - 0x5b8], eax
and dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
and dword [ebp - 0x5bc], 0
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x5bc], eax
and dword [ebp - 0x5c0], 0
mov eax, dword [ebp - 0x5c0]
add eax, 0xa5
mov dword [ebp - 0x5c0], eax
and dword [ebp - 0x588], 0
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
add eax, dword [ebp - 0x588]
mov dword [ebp - 0x588], eax
and dword [ebp - 0x58c], 0
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
add eax, dword [ebp - 0x58c]
mov dword [ebp - 0x58c], eax
and dword [ebp - 0x5d8], 0
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
and dword [ebp - 0x5dc], 0
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
and dword [ebp - 0x5e0], 0
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov byte [ebp - 0x4c0], 0
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
mov byte [ebp - 0x4be], 0
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x55100d
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
mov eax, dword [ebp - 0x4e4]
inc eax
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0x72
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5c0], 0xa5
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x551260
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
mov eax, dword [ebp - 0x4e4]
inc eax
mov dword [ebp - 0x4e4], eax
movss xmm0, dword [0xa59148]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [0xa590dc]
movss dword [ebp - 0x538], xmm0
movss xmm0, dword [0xa5906c]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4d8]
subss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
mulss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
comiss xmm0, dword [ebp - 0x4d8]
jbe 0x55151e
movss xmm0, dword [ebp - 0x4d8]
mulss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
divss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4f4]
subss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4d8]
mulss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
subss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
comiss xmm0, dword [ebp - 0x538]
jbe 0x5514d4
movss xmm0, dword [ebp - 0x4d8]
divss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
divss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
subss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4d8]
subss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
addss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4d8]
divss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
comiss xmm0, dword [ebp - 0x538]
jbe 0x55148a
movss xmm0, dword [ebp - 0x4d8]
mulss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x538]
divss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x538], xmm0
movss xmm0, dword [ebp - 0x4f4]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x4f4], xmm0
jmp 0x5514d2
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
jmp 0x55151c
movss xmm0, dword [ebp - 0x538]
subss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x538], xmm0
movss xmm0, dword [ebp - 0x538]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x538], xmm0
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
jmp 0x551573
movss xmm0, dword [ebp - 0x4d8]
addss xmm0, dword [ebp - 0x4f4]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x4f4]
subss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4f4], xmm0
movss xmm0, dword [ebp - 0x4f4]
addss xmm0, dword [ebp - 0x538]
movss dword [ebp - 0x4f4], xmm0
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0x72
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5c0], 0xa5
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x5517ac
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
mov eax, dword [ebp - 0x4e4]
inc eax
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0x72
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5c0], 0xa5
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x5519ff
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
mov eax, dword [ebp - 0x4e4]
inc eax
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0x72
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5c0], 0xa5
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x551c52
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
mov eax, dword [ebp - 0x4e4]
inc eax
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x4e4]
shl eax, 1
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5cc]
movzx eax, byte [eax]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0x72
mov eax, dword [ebp - 0x4e4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d0]
add eax, dword [ebp - 0x5d4]
movzx eax, byte [eax]
mov dword [ebp - 0x5bc], eax
movsd xmm0, qword [0xa59008]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [0xa58fd0]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [0xa58f98]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [0xa58f28]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [0xa58ec8]
movsd qword [ebp - 0x86c], xmm0
movsd xmm0, qword [0xa58e20]
movsd qword [ebp - 0x790], xmm0
movsd xmm0, qword [ebp - 0x798]
subsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [ebp - 0x7d0]
addsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x7d0]
subsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x72c]
subsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x7d0], xmm0
movsd xmm0, qword [ebp - 0x8b4]
mulsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [ebp - 0x790]
comisd xmm0, xmmword [ebp - 0x8b4]
jbe 0x551e59
movsd xmm0, qword [ebp - 0x798]
subsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [ebp - 0x798]
addsd xmm0, qword [ebp - 0x790]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [ebp - 0x72c]
divsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [ebp - 0x86c]
mulsd xmm0, qword [ebp - 0x72c]
movsd qword [ebp - 0x86c], xmm0
movsd xmm0, qword [ebp - 0x72c]
divsd xmm0, qword [ebp - 0x7d0]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [ebp - 0x86c]
subsd xmm0, qword [ebp - 0x72c]
movsd qword [ebp - 0x86c], xmm0
jmp 0x551ef3
movsd xmm0, qword [ebp - 0x72c]
addsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [ebp - 0x790]
addsd xmm0, qword [ebp - 0x72c]
movsd qword [ebp - 0x790], xmm0
movsd xmm0, qword [ebp - 0x798]
subsd xmm0, qword [ebp - 0x86c]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [ebp - 0x72c]
addsd xmm0, qword [ebp - 0x8b4]
movsd qword [ebp - 0x72c], xmm0
movsd xmm0, qword [ebp - 0x798]
addsd xmm0, qword [ebp - 0x86c]
movsd qword [ebp - 0x798], xmm0
movsd xmm0, qword [ebp - 0x7d0]
mulsd xmm0, qword [ebp - 0x798]
movsd qword [ebp - 0x7d0], xmm0
mov dword [ebp - 0x5c0], 0xa5
mov eax, dword [ebp - 0x5b4]
sub eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x588]
shl eax, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov al, byte [ebp - 0x5e0]
mov byte [ebp - 0x4c0], al
movzx eax, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp - 0x4be], al
movzx eax, byte [ebp - 0x4a7]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4ad]
add ecx, eax
mov byte [ebp - 0x4ad], cl
mov al, byte [ebp - 0x4a7]
add al, 1
mov byte [ebp - 0x4a7], al
movzx eax, byte [ebp - 0x4ad]
movzx ecx, byte [ebp - 0x4b4]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4ae]
movzx ecx, byte [ebp - 0x4ad]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
movzx ecx, byte [ebp - 0x4ae]
mov al, byte [ebp + eax - 0xc18]
mov byte [ebp + ecx - 0xc18], al
movzx eax, byte [ebp - 0x4a7]
mov cl, byte [ebp - 0x4be]
mov byte [ebp + eax - 0xc18], cl
movzx eax, byte [ebp - 0x4be]
movzx eax, byte [ebp + eax - 0xc18]
movzx ecx, byte [ebp - 0x4bf]
add ecx, eax
mov byte [ebp - 0x4bf], cl
movzx eax, byte [ebp - 0x4c0]
movzx ecx, byte [ebp - 0x4ad]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4a7]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
movzx ecx, byte [ebp - 0x4ae]
movzx ecx, byte [ebp + ecx - 0xc18]
movzx edx, byte [ebp - 0x4b4]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
movzx edx, byte [ebp - 0x4bf]
movzx edx, byte [ebp + edx - 0xc18]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc18]
movzx ecx, byte [ebp + ecx - 0xc18]
xor eax, ecx
mov byte [ebp - 0x4ae], al
mov al, byte [ebp - 0x4c0]
mov byte [ebp - 0x4b4], al
mov al, byte [ebp - 0x4ae]
mov byte [ebp - 0x4cf], al
cmp dword [ebp - 0x4e4], 0
jle 0x5520d0
movsx ax, byte [ebp - 0x4cf]
mov ecx, dword [ebp - 0x4e4]
mov word [ebp + ecx*2 - 0x2a], ax
push 2
pop eax
imul eax, eax, 5
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0xc
jae 0x5520e7
jmp 0x5520ec
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x87c]
mov word [ebp + ecx - 0x28], ax
jmp 0x552147
and dword [ebp - 0x7d4], 0
jmp 0x552111
mov eax, dword [ebp - 0x7d4]
inc eax
mov dword [ebp - 0x7d4], eax
cmp dword [ebp - 0x7d4], 6
jge 0x552147
mov eax, dword [ebp - 0x7d4]
shl eax, 1
mov dword [ebp - 0x880], eax
cmp dword [ebp - 0x880], 0xc
jae 0x552133
jmp 0x552138
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0x880]
mov word [ebp + ecx - 0x28], ax
jmp 0x552104
push 1
push 0
push dword [ebp + 8]
lea ecx, [ebp - 0x478]
call fcn.009bdbb2
push eax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
call dword [ebp - 0x9e0]
mov dword [ebp - 0x9dc], eax
mov dword [ebp - 0x820], 0x208
lea eax, [ebp - 0x474]
mov dword [ebp - 0x828], eax
cmp dword [ebp - 0x820], 0
je 0x5521b7
mov eax, dword [ebp - 0x828]
mov byte [eax], 0
mov eax, dword [ebp - 0x828]
inc eax
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x820]
dec eax
mov dword [ebp - 0x820], eax
jmp 0x552189
cmp dword [ebp - 0x9dc], 0x20
jle 0x5521d3
mov byte [ebp - 0x61d], 1
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x478]
call fcn.009bd9ab
mov al, byte [ebp - 0x61d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.009d8d1d
leave
ret