Function at 0x656290
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2fc
mov edi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x659860
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00659800
mov edx, dword [0xb2a340]
mov ecx, dword [0xb2a31c]
mov esi, 0xd2af
sub esi, eax
mov dword [ebp - 0x48], esi
sub ecx, esi
add ecx, edx
call dword [0xb0836c]
call ecx
mov ecx, eax
xor ecx, 0x9dd487db
mov esi, eax
xor esi, 0x9dd487cb
mov edx, eax
xor edx, 0x9dd487c7
mov dword [ebp + esi - 0x108], 0
mov dword [ebp - 0x38], eax
xor eax, 0x9dd487d0
mov dword [ebp + edx - 0x108], eax
mov byte [ebp + ecx - 0x108], 0
mov dword [ebp - 0x108], 0xaafabc
mov dword [ebp - 0xec], 0
mov dword [ebp + esi - 0xe8], 0
mov dword [ebp + edx - 0xe8], eax
mov byte [ebp + ecx - 0xe8], 0
mov dword [ebp - 0xe8], 0x799e70
mov dword [ebp + esi - 0xc4], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov dword [ebp + edx - 0xc4], eax
mov byte [ebp + ecx - 0xc4], 0
mov dword [ebp - 0xc4], 0x799e70
cmp byte [edi + 0xc], 0
lea eax, [ebp + ecx - 0x108]
mov dword [ebp - 0x90], eax
lea eax, [ebp + ecx - 0xe8]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x3c], ecx
lea eax, [ebp + ecx - 0xc4]
mov dword [ebp - 0x94], eax
je 0x6563c0
add edi, 0x88
jmp 0x657cd4
mov dword [ebp - 0x34], esi
lea eax, [edi + 0x84]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x84]
test eax, eax
mov dword [ebp - 0x4c], edi
je 0x6563ec
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp dword [eax + edx], ecx
jbe 0x65642b
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [eax + ecx]
jmp 0x656430
mov ecx, dword [ebp - 0x38]
xor ecx, 0x9dd487c3
mov dword [ebp - 0x10], 0x11
call fcn.0053d610
mov ecx, dword [ebp - 0x34]
mov dword [eax + ecx], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [eax + edx], ecx
mov ecx, dword [ebp - 0x3c]
mov byte [eax + ecx], 0
mov dword [eax], 0x799e70
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edi, dword [ebp - 0x4c]
jmp 0x65643d
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov edx, dword [ebp - 0x34]
mov dword [eax + edx], 0
mov byte [ecx], 0
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [edi + 0x10]
cmp eax, 0x3e8
je 0x65645e
cmp eax, 0xfa0
je 0x65645e
cmp eax, 0x7d0
jne 0x6564c5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [edx + ecx], eax
jbe 0x656471
mov eax, dword [ebp - 0x3c]
mov edx, dword [edx + eax]
jmp 0x656474
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [esi + ecx], eax
jbe 0x656487
mov eax, dword [ebp - 0x3c]
mov esi, dword [esi + eax]
jmp 0x65648a
add esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [ebx + ecx], eax
jbe 0x65649d
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebx + eax]
jmp 0x6564a0
add ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], 0x11
lea eax, [ebp - 0x108]
push edx
push esi
push ebx
push eax
call fcn.00652b70
add esp, 0x10
mov dword [ebp - 0x30], 0
jmp 0x6566fc
mov dword [ebp - 0x30], eax
call fcn.00659810
mov ecx, dword [0xb2a37c]
mov esi, dword [0xb2a364]
mov edx, 0xcc56
sub edx, eax
mov dword [ebp - 0x20], edx
sub esi, edx
add esi, ecx
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, 0xef37003e
call esi
xor edi, edi
mov dword [ebp - 0x24], 0
test al, al
je 0x6565aa
mov eax, dword [0xb2a378]
mov ecx, dword [0xb2a35c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov edi, eax
mov eax, dword [0xb2a384]
mov esi, dword [0xb2a358]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0x3db052f5
mov dword [ebp - 0x24], edi
call esi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [0xb2a370]
mov esi, dword [0xb2a368]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0xe7446a97
call esi
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x44]
lea esi, [ebp - 0x308]
push 0x200
push 0
push esi
call fcn.0077d260
add esp, 0xc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
push esi
push dword [ebp - 0x30]
push edi
call ecx
test eax, eax
jne 0x65663e
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x30]
push dword [ebp - 0x24]
call ecx
test eax, eax
je 0x656c9a
mov eax, dword [0xb2a388]
mov esi, dword [0xb2a360]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xe8]
lea edx, [ebp - 0x308]
push 0xa26e5b52
call esi
add esp, 4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
cmp dword [esi + ecx], eax
jbe 0x656690
mov eax, dword [ebp - 0x3c]
mov esi, dword [esi + eax]
jmp 0x656693
add esi, dword [ebp - 0x3c]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [edi + ecx], eax
jbe 0x6566ac
mov eax, dword [ebp - 0x3c]
mov edi, dword [edi + eax]
jmp 0x6566af
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [ebx + ecx], eax
jbe 0x6566c2
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebx + eax]
jmp 0x6566c5
add ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp dword [ebp + edx - 0xe8], ecx
jbe 0x6566e4
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax - 0xe8]
mov cl, 1
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x108]
push esi
push edi
push ebx
push eax
push ecx
call fcn.00652b70
add esp, 0x14
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax + 0x10]
mov ebx, dword [ebp - 0x38]
mov eax, ebx
xor eax, 0x9dd4800f
cmp edi, eax
jge 0x6568d5
call fcn.00659810
mov ecx, dword [0xb2a37c]
mov esi, dword [0xb2a364]
mov edx, 0xcc56
sub edx, eax
mov dword [ebp - 0x20], edx
sub esi, edx
add esi, ecx
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, 0xef37003e
call esi
xor esi, esi
mov dword [ebp - 0x24], 0
test al, al
je 0x6567f6
mov eax, dword [0xb2a378]
mov ecx, dword [0xb2a35c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov edi, eax
mov eax, dword [0xb2a384]
mov esi, dword [0xb2a358]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0x3db052f5
mov dword [ebp - 0x24], edi
call esi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [0xb2a370]
mov esi, dword [0xb2a368]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0xe7446a97
call esi
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
xor edi, 0x9dd45fdc
lea ebx, [ebp - 0x308]
push 0x200
push 0
push ebx
call fcn.0077d260
add esp, 0xc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
push ebx
mov dword [ebp - 0x44], edi
push edi
push esi
call ecx
test eax, eax
jne 0x656894
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x24]
call ecx
test eax, eax
je 0x656c3d
mov eax, dword [0xb2a388]
mov esi, dword [0xb2a360]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
lea edx, [ebp - 0x308]
push 0xa26e5b52
call esi
add esp, 4
jmp 0x657059
xor ebx, 0x9dd4887f
call fcn.00659810
mov ecx, dword [0xb2a37c]
mov edx, 0xcc56
sub edx, eax
mov esi, dword [0xb2a364]
mov dword [ebp - 0x20], edx
sub esi, edx
add esi, ecx
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
cmp edi, ebx
jae 0x656aa4
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, 0xef37003e
call esi
xor esi, esi
mov dword [ebp - 0x24], 0
test al, al
je 0x6569c5
mov eax, dword [0xb2a378]
mov ecx, dword [0xb2a35c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov edi, eax
mov eax, dword [0xb2a384]
mov esi, dword [0xb2a358]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0x3db052f5
mov dword [ebp - 0x24], edi
call esi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [0xb2a370]
mov esi, dword [0xb2a368]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0xe7446a97
call esi
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
xor edi, 0x9dd45fde
lea ebx, [ebp - 0x308]
push 0x200
push 0
push ebx
call fcn.0077d260
add esp, 0xc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
push ebx
mov dword [ebp - 0x44], edi
push edi
push esi
call ecx
test eax, eax
jne 0x656a63
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x24]
call ecx
test eax, eax
je 0x656fa7
mov eax, dword [0xb2a388]
mov esi, dword [0xb2a360]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
lea edx, [ebp - 0x308]
push 0xa26e5b52
call esi
add esp, 4
jmp 0x657059
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, 0xef37003e
call esi
xor esi, esi
mov dword [ebp - 0x24], 0
test al, al
je 0x656b5e
mov eax, dword [0xb2a378]
mov ecx, dword [0xb2a35c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov edi, eax
mov eax, dword [0xb2a384]
mov esi, dword [0xb2a358]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0x3db052f5
mov dword [ebp - 0x24], edi
call esi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [0xb2a370]
mov esi, dword [0xb2a368]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0xe7446a97
call esi
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
xor edi, 0x9dd45fdd
lea ebx, [ebp - 0x308]
push 0x200
push 0
push ebx
call fcn.0077d260
add esp, 0xc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
push ebx
mov dword [ebp - 0x44], edi
push edi
push esi
call ecx
test eax, eax
jne 0x656bfc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x24]
call ecx
test eax, eax
je 0x657001
mov eax, dword [0xb2a388]
mov esi, dword [0xb2a360]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
lea edx, [ebp - 0x308]
push 0xa26e5b52
call esi
add esp, 4
jmp 0x657059
mov eax, dword [0xb2a38c]
mov ecx, dword [0xb2a350]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov esi, eax
mov eax, dword [0xb2a374]
mov edi, dword [0xb2a354]
sub edi, dword [ebp - 0x20]
add edi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
mov edx, esi
call edi
jmp 0x657059
mov eax, dword [0xb2a38c]
mov ecx, dword [0xb2a350]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov esi, eax
mov eax, dword [0xb2a374]
mov edi, dword [0xb2a354]
sub edi, dword [ebp - 0x20]
add edi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xe8]
mov edx, esi
call edi
call fcn.00659810
mov ecx, dword [0xb2a37c]
mov esi, dword [0xb2a364]
mov edx, 0xcc56
sub edx, eax
mov dword [ebp - 0x20], edx
sub esi, edx
add esi, ecx
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, 0xef37003e
call esi
xor edi, edi
mov dword [ebp - 0x30], 0
test al, al
je 0x656dd4
mov eax, dword [0xb2a378]
mov ecx, dword [0xb2a35c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov edi, eax
mov eax, dword [0xb2a384]
mov esi, dword [0xb2a358]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0x3db052f5
mov dword [ebp - 0x30], edi
call esi
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov eax, dword [0xb2a370]
mov esi, dword [0xb2a368]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
mov ecx, edi
mov edx, 0xe7446a97
call esi
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x38]
xor ebx, 0x9dd45fdf
push 0x200
push 0
lea esi, [ebp - 0x308]
push esi
call fcn.0077d260
add esp, 0xc
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
push esi
mov dword [ebp - 0x24], ebx
push ebx
push edi
call ecx
test eax, eax
jne 0x656e72
mov eax, dword [0xb2a380]
mov ecx, dword [0xb2a36c]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
push 0x955e5e92
push 0x200
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x30]
call ecx
test eax, eax
je 0x657c2f
mov eax, dword [0xb2a388]
mov esi, dword [0xb2a360]
sub esi, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xe8]
lea edx, [ebp - 0x308]
push 0xa26e5b52
call esi
add esp, 4
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax - 0x308], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + ecx - 0x308], eax
mov eax, dword [ebp - 0x3c]
mov byte [ebp + eax - 0x308], 0
mov dword [ebp - 0x308], 0x799e70
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], 0x1c
lea ecx, [ebp - 0x308]
push eax
call fcn.00652870
mov eax, dword [ebp - 0x3c]
add eax, ebp
add eax, 0xfffffcf8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp dword [eax + ebx], 0
je 0x657747
mov ecx, dword [ebp - 0x3c]
lea eax, [ecx + ebp]
add eax, 0xffffff8c
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x74], esi
mov dword [ebp + ebx - 0x74], 2
mov edx, dword [ebp - 0x38]
mov eax, edx
xor eax, 0xa7f3
mov word [ebp + ecx - 0x74], ax
mov eax, edx
xor eax, 0x9dd487d9
mov byte [ebp + eax - 0x74], 0
mov dword [ebp - 0x74], 0x799e70
mov eax, dword [ebp + ebx - 0x308]
mov ecx, dword [ebp + edi - 0x308]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x6575b8
mov dword [ebp - 0x10], 0x1f
sub esp, 0x10
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov esi, dword [ebp + 8]
jmp 0x6575e0
mov eax, dword [0xb2a38c]
mov ecx, dword [0xb2a350]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov esi, eax
mov eax, dword [0xb2a374]
mov edi, dword [0xb2a354]
sub edi, dword [ebp - 0x20]
add edi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
mov edx, esi
call edi
jmp 0x657059
mov eax, dword [0xb2a38c]
mov ecx, dword [0xb2a350]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov esi, eax
mov eax, dword [0xb2a374]
mov edi, dword [0xb2a354]
sub edi, dword [ebp - 0x20]
add edi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xc4]
mov edx, esi
call edi
mov eax, dword [0xb2a080]
mov dword [ebp - 0x80], eax
mov eax, dword [eax]
mov dword [ebp - 0x98], eax
mov eax, dword [0xaafab4]
mov dword [ebp - 0xa8], eax
mov eax, dword [0xb2a084]
add eax, dword [eax]
mov dword [ebp - 0xa0], eax
cmp dword [0xb53874], 0
je 0x6570ba
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.00659760
mov ecx, eax
call fcn.00659770
mov ecx, dword [ebp - 0x34]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [eax + esi], edx
jbe 0x6570fe
mov edx, dword [ebp - 0x3c]
mov eax, dword [eax + edx]
jmp 0x657103
call fcn.00659780
test eax, eax
je 0x657179
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.00659780
mov ecx, eax
call fcn.00659770
mov ecx, dword [ebp - 0x34]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [eax + esi], edx
jbe 0x657313
mov edx, dword [ebp - 0x3c]
mov eax, dword [eax + edx]
jmp 0x657318
mov edx, dword [ebp - 0x3c]
add eax, edx
mov ecx, dword [ebp - 0x24]
add edx, ecx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x34]
mov edx, dword [ecx + edx]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ecx + edi]
mov edi, ebx
sub edi, edx
mov esi, dword [ebp - 0x20]
cmp edi, esi
jae 0x657148
sub esp, 0x10
movzx edx, byte [ebp - 0x308]
mov byte [esp + 4], dl
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x24]
call fcn.0052d5f0
jmp 0x6581b2
add esi, edx
mov edi, dword [ebp - 0x34]
mov dword [ecx + edi], esi
mov edi, esi
cmp ebx, dword [ebp - 0x2c]
jbe 0x65715e
mov esi, dword [ebp - 0x24]
mov esi, dword [esi]
jmp 0x657161
mov esi, dword [ebp - 0x24]
add edx, esi
push dword [ebp - 0x20]
push eax
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x6581b2
lea ecx, [ebp - 0x54]
call fcn.0060f540
mov dword [ebp - 0x10], 0x18
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x308]
call fcn.00659790
mov dword [ebp - 0x10], 0x19
lea ecx, [ebp - 0x308]
lea edx, [ebp - 0x74]
call fcn.005607b0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax - 0x74]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp eax, dword [ebp - 0x2c]
jbe 0x65727a
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + ecx - 0x74]
lea edi, [eax + 1]
mov esi, dword [ebp - 0x38]
mov ecx, esi
xor ecx, 0x9dd48820
cmp edi, ecx
mov dword [ebp - 0x20], edx
jbe 0x657247
mov ecx, esi
xor ecx, edx
mov edi, ecx
xor edi, 0x622b7823
mov dword [ebp - 0x44], edi
mov ebx, esi
xor ebx, 0xa73336e6
mov dword [ebp - 0x50], ebx
mov edi, esi
xor edi, 0xa893c88c
sub ebx, edi
add ebx, dword [ebp - 0x44]
xor ecx, 0x1dd487dc
and ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx - 4]
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x20], edx
sub ecx, edx
mov ebx, ecx
xor ebx, edi
and ecx, edi
sub ebx, dword [ebp - 0x50]
lea ecx, [ebx + ecx*2]
mov edx, esi
xor edx, 0x9dd487ff
cmp ecx, edx
jae 0x657c8c
mov ecx, esi
xor ecx, 0x9dd487fb
add eax, ecx
mov edi, eax
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x20], ebx
je 0x6573ab
mov dword [ebp - 0x10], 0x19
lea ecx, [ebp - 0x308]
lea edx, [ebp - 0x74]
call fcn.005607b0
mov edx, dword [ebp - 0x3c]
lea ecx, [edx + ebp]
add ecx, 0xffffff8c
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x74]
mov dword [ebp - 0x50], ecx
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
cmp dword [ebp + edi - 0x74], esi
mov esi, dword [ebp - 0x20]
jbe 0x6572c5
mov ecx, dword [ebp + edx - 0x74]
mov dword [ebp - 0x44], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [esi + ecx]
mov edi, dword [ebp - 0x28]
mov ebx, dword [esi + edi]
mov edi, ebx
sub edi, edx
cmp edi, eax
jae 0x657408
mov dword [ebp - 0x10], 0x1a
sub esp, 0x10
movzx edx, byte [ebp - 0x40]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x44]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x24]
call fcn.0052d5f0
jmp 0x657431
mov edx, dword [ebp - 0x3c]
add eax, edx
mov ebx, dword [ebp - 0x24]
lea ecx, [ebx + edx]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebx + ecx]
mov esi, dword [ebp - 0x38]
mov edi, esi
xor edi, 0xceb54acd
xor esi, 0x314ab532
add esi, edi
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebx + edi]
sub esi, edx
add esi, ecx
inc esi
mov edi, dword [ebp - 0x20]
cmp esi, edi
jae 0x657372
sub esp, 0x10
movzx edx, byte [ebp - 0x308]
mov byte [esp + 4], dl
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], edi
mov ecx, dword [ebp - 0x24]
call fcn.0052d5f0
jmp 0x6581b2
lea esi, [edx + edi]
mov dword [ebp - 0x44], esi
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x44]
mov dword [ebx + edi], esi
mov edi, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x2c]
jbe 0x657390
mov ebx, dword [ebp - 0x24]
mov ebx, dword [ebx]
jmp 0x657393
mov ebx, dword [ebp - 0x24]
add edx, ebx
push dword [ebp - 0x20]
push eax
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x6581b2
mov eax, dword [ebp - 0x3c]
lea edx, [eax + ebp]
add edx, 0xffffff8c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + ecx - 0x74], eax
mov ecx, dword [ebp - 0x38]
mov esi, ecx
xor esi, 0x9dd487d6
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], esi
mov dword [ebp + eax - 0x74], esi
movzx eax, byte [0xb29eca]
mov ah, cl
xor ah, 0x9e
cmp al, ah
je 0x657fac
mov ch, cl
xor cl, 0xe9
xor ch, 0x96
mov al, cl
lock cmpxchg byte [0xb29eca], ch
je 0x65750e
cmp al, ah
jne 0x6573ef
jmp 0x657fac
lea edi, [edx + eax]
mov dword [esi + ecx], edi
cmp ebx, dword [ebp - 0x2c]
jbe 0x65741a
mov esi, dword [ebp - 0x24]
mov esi, dword [esi]
jmp 0x65741d
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
add edx, esi
push eax
push ecx
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [esi + edi], 0
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + eax - 0x74]
cmp esi, dword [ebp - 0x2c]
jbe 0x6580f3
mov ecx, dword [ebp - 0x50]
mov edi, dword [ecx]
lea edx, [esi + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edx, ecx
jbe 0x6574d7
mov ecx, edi
not ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x38]
xor ebx, 0x622b7823
mov eax, dword [ebp - 0x38]
xor eax, 0x9dd487dc
mov edx, ebx
and edx, ecx
mov ecx, eax
and ecx, edi
or ecx, edx
mov edx, dword [ebp - 0x20]
and eax, edx
and ebx, edi
or ebx, eax
xor ebx, edi
mov edi, dword [edi - 4]
xor eax, edx
or eax, ebx
mov edx, dword [ebp - 0x38]
xor edx, 0x3c5a5dc9
mov dword [ebp - 0x24], edi
add edi, edx
neg edi
mov ebx, edx
xor ebx, edi
add ebx, ecx
and edi, edx
not eax
add edi, eax
lea ecx, [ebx + edi*2]
mov ebx, dword [ebp - 0x38]
mov edx, ebx
xor edx, 0x9dd487ff
cmp ecx, edx
jae 0x657c98
mov ecx, ebx
xor ecx, 0x9dd487fb
add esi, ecx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x24]
jmp 0x6574dc
mov dword [ebp - 0x20], edx
mov esi, edi
mov edi, ebx
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, esi
mov edx, dword [ebp - 0x20]
push edi
jmp 0x6580ee
mov esi, dword [ebp - 0x38]
xor esi, 0x9dd487d5
cmp esi, 2
mov ecx, 1
cmovge ecx, esi
xor esi, esi
cmp ecx, 8
jb 0x657f95
xor esi, esi
cmp ecx, 0x20
jb 0x657586
mov esi, ecx
and esi, 0x7fffffe0
xor edi, edi
movdqa xmm0, xmmword [edi + 0xaafb40]
movdqa xmm1, xmmword [edi + 0xaafb50]
paddb xmm0, xmmword [edi + 0xb29ec0]
paddb xmm1, xmmword [edi + 0xb29ed0]
movdqa xmmword [edi + 0xb29ec0], xmm0
movdqa xmmword [edi + 0xb29ed0], xmm1
add edi, 0x20
cmp esi, edi
jne 0x65753e
cmp ecx, esi
je 0x657fa6
test cl, 0x18
je 0x657f95
mov edi, esi
mov esi, ecx
and esi, 0x7ffffff8
movq xmm0, qword [edi + 0xb29ec0]
movq xmm1, qword [edi + 0xaafb40]
paddb xmm1, xmm0
movq qword [edi + 0xb29ec0], xmm1
add edi, 8
cmp esi, edi
jne 0x657590
jmp 0x657fa2
mov edi, dword [ebp - 0x30]
lea edx, [eax + 2]
mov dword [ebp + ebx - 0x308], edx
mov edx, dword [ebp - 0x20]
cmp ecx, esi
jbe 0x6575d1
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
movzx ecx, word [edi]
mov word [edx + eax], cx
mov byte [edx + eax + 2], 0
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x3c]
lea ebx, [esi + eax]
mov eax, dword [ebp - 0x34]
mov ecx, dword [esi + eax]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp dword [esi + edx], eax
jbe 0x6575f9
mov ebx, dword [ebx]
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp + esi - 0x308]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
mov edi, eax
sub edi, edx
cmp edi, ecx
jae 0x65763f
mov dword [ebp - 0x10], 0x1f
sub esp, 0x10
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov ecx, dword [ebp - 0x30]
jmp 0x657685
mov dword [ebp - 0x24], ebx
mov edi, edx
xor edi, ecx
mov ebx, edx
and ebx, ecx
add ebx, ebx
mov dword [ebp - 0x44], eax
mov eax, ebx
xor eax, edi
and ebx, edi
lea edi, [eax + ebx*2]
mov dword [ebp + esi - 0x308], edi
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x2c]
jbe 0x65766f
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
add edx, ebx
push ecx
push dword [ebp - 0x24]
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp eax, dword [ebp - 0x2c]
jbe 0x657744
mov edi, dword [ecx]
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x38]
xor ecx, 0x9dd48820
cmp esi, ecx
ja 0x6576b8
test byte [0xb532c0], 1
jne 0x6576b8
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x30], edi
jmp 0x657712
mov esi, dword [edi - 4]
mov ecx, dword [ebp - 0x38]
mov edx, ecx
xor edx, 0x622b7823
add edx, edi
mov dword [ebp - 0x30], esi
sub edx, esi
mov esi, ecx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657cb0
mov edi, eax
not edi
mov ebx, ecx
xor ebx, 0x9dd487fb
mov edx, ecx
xor edx, 0x622b7804
mov ecx, ebx
and ecx, edi
mov esi, eax
and esi, edx
or esi, ecx
mov ecx, dword [ebp - 0x38]
xor ebx, eax
and edx, edi
or edx, ebx
add edx, edx
sub esi, edx
add esi, 0xfffffffe
mov dword [ebp - 0x10], 0xffffffff
mov edi, ecx
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x30]
mov edx, esi
push edi
call ebx
add esp, 4
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp + 0xc]
cmp dword [eax + ebx], 0
je 0x65793e
mov ecx, dword [ebp - 0x3c]
lea eax, [ecx + ebp]
add eax, 0xffffff8c
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x74], esi
mov dword [ebp + ebx - 0x74], 2
mov edx, dword [ebp - 0x38]
mov eax, edx
xor eax, 0xa7f3
mov word [ebp + ecx - 0x74], ax
mov eax, edx
xor eax, 0x9dd487d9
mov byte [ebp + eax - 0x74], 0
mov dword [ebp - 0x74], 0x799e70
mov eax, dword [ebp + ebx - 0x308]
mov ecx, dword [ebp + edi - 0x308]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x6577e0
mov dword [ebp - 0x10], 0x1e
sub esp, 0x10
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov edi, dword [ebp + 0xc]
jmp 0x657808
mov edi, dword [ebp - 0x30]
lea edx, [eax + 2]
mov dword [ebp + ebx - 0x308], edx
mov edx, dword [ebp - 0x20]
cmp ecx, esi
jbe 0x6577f9
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
movzx ecx, word [edi]
mov word [edx + eax], cx
mov byte [edx + eax + 2], 0
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x3c]
lea ebx, [edi + eax]
mov eax, dword [ebp - 0x34]
mov ecx, dword [edi + eax]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [edi + esi], edx
jbe 0x657821
mov ebx, dword [ebx]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + eax - 0x308]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp + esi - 0x308]
mov esi, edi
sub esi, edx
cmp esi, ecx
jae 0x65786d
mov dword [ebp - 0x10], 0x1e
sub esp, 0x10
movzx edx, byte [ebp - 0x40]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov ecx, dword [ebp - 0x30]
jmp 0x6578a2
mov esi, edx
xor esi, ecx
mov ebx, edx
and ebx, ecx
lea esi, [esi + ebx*2]
mov dword [ebp + eax - 0x308], esi
mov ebx, dword [ebp - 0x20]
cmp edi, dword [ebp - 0x2c]
jbe 0x65788c
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
add edx, ebx
push ecx
push dword [ebp - 0x24]
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [ebx + esi], 0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp byte [0xb53738], 0
jne 0x6578bb
cmp eax, dword [ebp - 0x2c]
jbe 0x65793b
mov esi, dword [ecx]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x657906
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657cbc
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x30], ecx
jmp 0x657909
mov dword [ebp - 0x30], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x30]
mov edx, edi
push esi
call ebx
add esp, 4
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp + 0x10]
cmp dword [eax + ebx], 0
je 0x657b43
mov ecx, dword [ebp - 0x3c]
lea eax, [ecx + ebp]
add eax, 0xffffff8c
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x74], esi
mov ebx, dword [ebp - 0x34]
mov dword [ebp + ebx - 0x74], 2
mov edx, dword [ebp - 0x38]
mov eax, edx
xor eax, 0xa7f3
mov word [ebp + ecx - 0x74], ax
mov eax, edx
xor eax, 0x9dd487d9
mov byte [ebp + eax - 0x74], 0
mov dword [ebp - 0x74], 0x799e70
mov eax, dword [ebp + ebx - 0x308]
mov ecx, dword [ebp + edi - 0x308]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x6579da
mov dword [ebp - 0x10], 0x1d
sub esp, 0x10
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov edi, dword [ebp + 0x10]
jmp 0x657a0e
mov edi, dword [ebp - 0x30]
mov dword [0xb2a08c], 0x8f20bf9d
lea edx, [eax + 2]
mov dword [ebp + ebx - 0x308], edx
mov edx, dword [ebp - 0x20]
cmp ecx, esi
jbe 0x6579fd
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ebx, edi
movzx ecx, word [edi]
mov word [edx + eax], cx
mov byte [edx + eax + 2], 0
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x3c]
add eax, edi
mov ecx, dword [ebp - 0x34]
mov ecx, dword [edi + ecx]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [edi + esi], edx
jbe 0x657a26
mov eax, dword [eax]
mov edi, dword [ebp - 0x34]
mov edx, dword [ebp + edi - 0x308]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp + esi - 0x308]
mov esi, ebx
sub esi, edx
cmp esi, ecx
jae 0x657a6c
mov dword [ebp - 0x10], 0x1d
sub esp, 0x10
movzx edx, byte [ebp - 0x40]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov ecx, dword [ebp - 0x30]
jmp 0x657a97
lea esi, [edx + ecx]
mov dword [ebp + edi - 0x308], esi
mov edi, dword [ebp - 0x20]
cmp ebx, dword [ebp - 0x2c]
jbe 0x657a83
mov edi, dword [ebp - 0x20]
mov edi, dword [edi]
add edx, edi
push ecx
push eax
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [edi + esi], 0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp eax, dword [ebp - 0x2c]
jbe 0x657b3c
mov esi, dword [ecx]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x2c1e7f19
mov edx, ebx
xor edx, 0xd3e180e6
add edx, ecx
lea edi, [eax + edx]
add edi, 2
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x657b07
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657cc8
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x30], ecx
jmp 0x657b0a
mov dword [ebp - 0x30], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x30]
mov edx, edi
push esi
call ebx
add esp, 4
mov dword [ebp - 0x10], 0x1c
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp dword [ebp + edx - 0x308], ecx
jbe 0x657b5a
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp + esi - 0xe8], edx
jbe 0x657b77
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx]
mov dword [ebp - 0x10], 0x1c
lea edx, [ebp - 0x108]
push eax
push ecx
push edx
call fcn.00652b70
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
jbe 0x657c25
mov ecx, dword [ebp - 0x20]
mov esi, dword [ecx]
lea edx, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edx, ecx
jbe 0x657bf0
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
mov edi, edx
xor edi, esi
and edx, esi
lea edx, [edi + edx*2]
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657ca4
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x20], eax
mov esi, ecx
jmp 0x657bf3
mov dword [ebp - 0x20], edx
mov edi, ebx
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, esi
mov edx, dword [ebp - 0x20]
push edi
call ebx
add esp, 4
mov al, 1
mov dword [ebp - 0x30], eax
jmp 0x6566fc
mov eax, dword [0xb2a38c]
mov ecx, dword [0xb2a350]
sub ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
call ecx
mov esi, eax
mov eax, dword [0xb2a374]
mov edi, dword [0xb2a354]
sub edi, dword [ebp - 0x20]
add edi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xb0836c]
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xe8]
mov edx, esi
call edi
jmp 0x656eae
mov dword [ebp - 0x10], 4
call fcn.00748ef1
mov dword [ebp - 0x10], 6
call fcn.00748ef1
mov dword [ebp - 0x10], 3
call fcn.00748ef1
mov dword [ebp - 0x10], 0
call fcn.00748ef1
mov dword [ebp - 0x10], 1
call fcn.00748ef1
mov dword [ebp - 0x10], 2
call fcn.00748ef1
mov edx, dword [edi]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], edx
mov eax, dword [edx + eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + ecx - 0xc4]
cmp eax, dword [ebp - 0x2c]
jbe 0x657d9b
mov ecx, dword [ebp - 0x94]
mov esi, dword [ecx]
lea ebx, [eax + eax]
sub ebx, eax
inc ebx
mov edi, dword [ebp - 0x38]
mov ecx, edi
xor ecx, 0x9dd48820
cmp ebx, ecx
jbe 0x657d68
mov ecx, dword [esi - 4]
mov edx, edi
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, edi
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657f71
mov edx, edi
xor edx, 0x9dd487fb
mov esi, eax
xor esi, edx
mov ebx, edi
xor edi, eax
and edx, eax
xor edi, 0x1dd487fb
or edx, edi
mov edi, ebx
mov eax, esi
not eax
and eax, edx
lea ebx, [esi + eax*2]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x30], ecx
jmp 0x657d6b
mov dword [ebp - 0x30], esi
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov esi, dword [0xb2a328]
sub esi, dword [ebp - 0x48]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov ecx, dword [ebp - 0x30]
mov edx, ebx
push edi
call esi
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0xe8]
cmp eax, dword [ebp - 0x2c]
jbe 0x657e6c
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ecx]
mov edi, dword [ebp - 0x38]
mov ecx, edi
xor ecx, 0x6d5462a8
mov edx, edi
xor edx, 0x92ab9d57
add edx, ecx
mov ecx, eax
xor ecx, 1
add edx, ecx
mov ecx, eax
and ecx, 1
lea ebx, [edx + ecx*2]
inc ebx
mov ecx, edi
xor ecx, 0x9dd48820
cmp ebx, ecx
jbe 0x657e39
mov ecx, dword [esi - 4]
mov edx, edi
xor edx, 0x622b7823
mov ebx, esi
mov esi, edi
xor esi, edx
xor esi, 0x9dd487dc
and esi, ebx
xor esi, edx
and edx, ebx
add edx, edx
mov ebx, esi
xor ebx, edx
and edx, esi
lea edx, [ebx + edx*2]
sub edx, ecx
mov esi, edi
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657f7d
mov edx, edi
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov ebx, eax
mov dword [ebp - 0x30], ecx
jmp 0x657e3c
mov dword [ebp - 0x30], esi
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov esi, dword [0xb2a328]
sub esi, dword [ebp - 0x48]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov ecx, dword [ebp - 0x30]
mov edx, ebx
push edi
call esi
add esp, 4
mov dword [ebp - 0x108], 0xaafabc
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x657eae
mov ebx, dword [ebp - 0x38]
xor ebx, 0x1bc4a8d4
mov eax, dword [0xb2a334]
mov esi, dword [0xb2a320]
sub esi, dword [ebp - 0x48]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov ecx, edi
mov edx, ebx
call esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x108]
cmp eax, dword [ebp - 0x2c]
jbe 0x657f4a
mov ecx, dword [ebp - 0x90]
mov esi, dword [ecx]
lea ebx, [eax + 1]
mov edi, dword [ebp - 0x38]
mov ecx, edi
xor ecx, 0x9dd48820
cmp ebx, ecx
jbe 0x657f17
mov ecx, dword [esi - 4]
mov edx, edi
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, edi
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x657f89
mov edx, edi
xor edx, 0x9dd487fb
mov esi, eax
xor esi, edx
and edx, eax
lea ebx, [esi + edx*2]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x28], ecx
jmp 0x657f1a
mov dword [ebp - 0x28], esi
xor edi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov esi, dword [0xb2a328]
sub esi, dword [ebp - 0x48]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov ecx, dword [ebp - 0x28]
mov edx, ebx
push edi
call esi
add esp, 4
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x2c]
cmova eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x2fc
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov dword [ebp - 0x10], 0xe
call fcn.00748ef1
mov dword [ebp - 0x10], 0xf
call fcn.00748ef1
mov dword [ebp - 0x10], 0x10
call fcn.00748ef1
mov al, byte [esi + 0xaafb40]
add byte [esi + 0xb29ec0], al
inc esi
cmp ecx, esi
jne 0x657f95
xchg byte [0xb29eca], ah
movzx eax, byte [0xb29ec8]
mov byte [edx + 8], al
movq xmm0, qword [0xb29ec0]
movq qword [edx], xmm0
mov eax, dword [ebp - 0x38]
xor eax, 0x9dd487d2
mov byte [ebp + eax - 0x74], 0
mov dword [ebp - 0x74], 0x799e70
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp + esi - 0x74], ecx
jbe 0x657fec
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + eax - 0x74]
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x3c]
add ecx, ebx
mov edx, dword [ebp - 0x34]
mov esi, dword [ebx + edx]
mov edi, dword [ebp - 0x28]
mov edi, dword [ebx + edi]
mov ebx, edi
sub ebx, esi
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov ebx, eax
jae 0x658039
mov dword [ebp - 0x10], 0x1b
sub esp, 0x10
mov eax, ebx
movzx ebx, byte [ebp - 0x40]
mov byte [esp + 4], bl
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x50]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0052d5f0
mov edx, dword [ebp - 0x24]
jmp 0x658063
add ebx, esi
mov eax, dword [ebp - 0x20]
mov dword [eax + edx], ebx
cmp edi, dword [ebp - 0x2c]
jbe 0x658048
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
movq xmm0, qword [eax]
movzx eax, byte [eax + 8]
mov byte [ecx + esi + 8], al
movq qword [ecx + esi], xmm0
mov byte [ecx + ebx], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp eax, dword [ebp - 0x2c]
jbe 0x6580f3
mov esi, dword [edx]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x6580be
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658db1
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x20], ecx
jmp 0x6580c1
mov dword [ebp - 0x20], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
jbe 0x65818e
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp + ecx - 0x308]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x658159
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658da5
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x20], ecx
jmp 0x65815c
mov dword [ebp - 0x20], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
mov eax, dword [0xb2a338]
mov esi, dword [0xb2a310]
sub esi, dword [ebp - 0x48]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
lea ecx, [ebp - 0x54]
call esi
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x34]
cmp dword [eax + edx], 0
je 0x6583c9
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x3c]
lea ebx, [ecx + ebp]
add ebx, 0xfffffcf8
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x308], esi
mov dword [ebp + edx - 0x308], 2
mov edx, dword [ebp - 0x38]
mov eax, edx
xor eax, 0xa7f3
mov word [ebp + ecx - 0x308], ax
mov eax, edx
xor eax, 0x9dd487d9
mov byte [ebp + eax - 0x308], 0
mov dword [ebp - 0x308], 0x799e70
mov dword [ebp - 0x50], ebx
cmp dword [ebp + edi - 0x308], esi
jbe 0x65822c
mov ebx, dword [ebp + ecx - 0x308]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
add ecx, eax
mov edi, dword [ebp - 0x34]
mov ebx, dword [eax + edi]
mov edx, dword [ebp - 0x28]
mov edx, dword [eax + edx]
mov esi, edx
sub esi, ebx
cmp esi, 2
mov dword [ebp - 0x44], ecx
jae 0x65827e
mov dword [ebp - 0x10], 0x17
sub esp, 0x10
movzx edx, byte [ebp - 0x74]
mov byte [esp + 4], dl
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
call fcn.0052d5f0
mov edi, dword [ebp - 0x20]
jmp 0x6582a1
lea esi, [ebx + 2]
mov eax, dword [ebp - 0x20]
mov dword [eax + edi], esi
mov esi, ecx
cmp edx, dword [ebp - 0x2c]
mov edi, eax
jbe 0x658292
mov esi, dword [ecx]
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [esi + ebx], ax
mov byte [esi + ebx + 2], 0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp + 0x14]
add eax, ebx
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebx + ecx]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebx + esi], edx
jbe 0x6582bc
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x34]
mov edx, dword [edi + ebx]
mov esi, dword [ebp - 0x28]
mov eax, dword [edi + esi]
mov esi, eax
sub esi, edx
cmp esi, ecx
jae 0x6582fd
mov dword [ebp - 0x10], 0x17
sub esp, 0x10
movzx edx, byte [ebp - 0x74]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x44]
call fcn.0052d5f0
jmp 0x658326
lea esi, [edx + ecx]
mov dword [edi + ebx], esi
cmp eax, dword [ebp - 0x2c]
jbe 0x65830f
mov edi, dword [ebp - 0x44]
mov edi, dword [edi]
jmp 0x658312
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
add edx, edi
push ecx
push eax
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
jbe 0x6583c6
mov ecx, dword [ebp - 0x50]
mov esi, dword [ecx]
mov ecx, eax
xor ecx, 1
mov edx, eax
and edx, 1
lea edi, [ecx + edx*2]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x658391
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658d81
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x20], ecx
jmp 0x658394
mov dword [ebp - 0x20], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x3c]
lea ebx, [ecx + ebp]
add ebx, 0xfffffcf8
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x308], esi
mov dword [ebp + edx - 0x308], 2
mov edx, dword [ebp - 0x38]
mov eax, edx
xor eax, 0xa7e5
mov word [ebp + ecx - 0x308], ax
mov eax, edx
xor eax, 0x9dd487d9
mov byte [ebp + eax - 0x308], 0
mov dword [ebp - 0x308], 0x799e70
mov dword [ebp - 0x84], ebx
cmp dword [ebp + edi - 0x308], esi
jbe 0x658436
mov ebx, dword [ebp + ecx - 0x308]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [eax + ecx]
mov edx, dword [ebp - 0x28]
mov edx, dword [eax + edx]
mov esi, dword [ebp - 0x38]
xor esi, 0x4fb779fa
mov edi, edx
xor edi, esi
mov ebx, edx
and ebx, esi
mov dword [ebp - 0x50], ecx
add esi, ecx
sub edi, esi
lea esi, [edi + ebx*2]
mov ecx, dword [ebp - 0x3c]
add ecx, eax
cmp esi, 2
mov dword [ebp - 0x44], ecx
jae 0x65849f
mov dword [ebp - 0x10], 0x16
sub esp, 0x10
movzx eax, byte [ebp - 0x74]
mov byte [esp + 4], al
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
call fcn.0052d5f0
jmp 0x6584ce
mov ebx, dword [ebp - 0x50]
mov esi, ebx
xor esi, 2
mov edi, ebx
and edi, 2
lea esi, [esi + edi*2]
mov edi, dword [ebp - 0x34]
mov dword [eax + edi], esi
mov edi, ecx
cmp edx, dword [ebp - 0x2c]
mov edx, ebx
jbe 0x6584c0
mov edi, dword [ecx]
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [edi + edx], ax
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0xc4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp + esi - 0xc4], edx
jbe 0x6584f5
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + ebx]
mov esi, dword [ebp - 0x28]
mov edi, dword [ecx + esi]
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x658539
mov dword [ebp - 0x10], 0x16
sub esp, 0x10
movzx edx, byte [ebp - 0x74]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x24]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x44]
call fcn.0052d5f0
jmp 0x658562
lea esi, [edx + eax]
mov dword [ecx + ebx], esi
cmp edi, dword [ebp - 0x2c]
jbe 0x65854b
mov edi, dword [ebp - 0x44]
mov edi, dword [edi]
jmp 0x65854e
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
add edx, edi
push eax
push ecx
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
jbe 0x658605
mov ecx, dword [ebp - 0x84]
mov esi, dword [ecx]
mov ecx, eax
xor ecx, 1
mov edx, eax
and edx, 1
lea edi, [ecx + edx*2]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x6585d0
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658d75
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x20], ecx
jmp 0x6585d3
mov dword [ebp - 0x20], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
cmp byte [ebp - 0x30], 0
je 0x658c59
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x3c]
lea ebx, [ecx + ebp]
add ebx, 0xfffffcf8
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp + edi - 0x308], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax - 0x308], 1
mov edx, dword [ebp - 0x38]
mov eax, edx
not al
mov byte [ebp + ecx - 0x308], al
mov eax, edx
xor eax, 0x9dd487da
mov byte [ebp + eax - 0x308], 0
mov dword [ebp - 0x308], 0x799e70
mov dword [ebp - 0xc8], ebx
cmp dword [ebp + edi - 0x308], esi
jbe 0x65867b
mov ebx, dword [ebp + ecx - 0x308]
mov eax, dword [ebp - 0x7c]
add ecx, eax
mov esi, dword [ebp - 0x34]
mov edi, dword [eax + esi]
mov edx, dword [ebp - 0x28]
mov edx, dword [eax + edx]
cmp edx, edi
mov dword [ebp - 0x20], ecx
jne 0x6586bf
mov dword [ebp - 0x10], 0x14
sub esp, 0x10
movzx eax, byte [ebp - 0x74]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp], 1
call fcn.0052d5f0
jmp 0x658708
mov dword [ebp - 0x30], ebx
mov esi, dword [ebp - 0x38]
xor esi, 0x7d34a285
mov ecx, edi
mov dword [ebp - 0x24], edi
add edi, esi
mov ebx, edi
xor ebx, 1
sub ebx, esi
and edi, 1
lea esi, [ebx + edi*2]
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x34]
mov dword [eax + edi], esi
mov edi, ecx
cmp edx, dword [ebp - 0x2c]
jbe 0x6586f1
mov edi, dword [ecx]
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x24]
mov byte [edi + ecx], al
mov byte [edi + esi], 0
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + ebp]
add ecx, 0xffffff8c
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp + ecx - 0x74], 0
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + ecx - 0x74], ebx
mov byte [ebp + eax - 0x74], 0
mov eax, dword [0xb2a344]
mov esi, dword [0xb2a318]
sub esi, dword [ebp - 0x48]
add esi, eax
mov edi, dword [ebp - 0x38]
xor edi, 0x6a10a626
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
mov ecx, 0xb5385c
mov edx, edi
call esi
mov esi, eax
cmp eax, ebx
jbe 0x658798
mov dword [ebp - 0x10], 0x14
sub esp, 0xc
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov dword [esp], esi
mov dword [esp + 8], 0xb5385c
mov ecx, dword [ebp - 0x88]
call fcn.0052ce20
mov edi, dword [ebp - 0x88]
jmp 0x6587b8
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax - 0x74], esi
push esi
push 0xb5385c
mov edi, dword [ebp - 0x88]
push edi
call fcn.0077cce0
add esp, 0xc
mov byte [edi + esi], 0
mov dword [ebp - 0x74], 0x799e70
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x74]
mov ecx, edi
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp + esi - 0x74], edx
jbe 0x6587d6
mov ecx, dword [edi]
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x7c]
mov edx, dword [edi + ebx]
mov esi, dword [ebp - 0x28]
mov edi, dword [edi + esi]
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x658817
mov dword [ebp - 0x10], 0x15
sub esp, 0x10
movzx edx, byte [ebp - 0x40]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov edi, dword [ebp - 0x4c]
jmp 0x65884e
mov dword [ebp - 0x30], ecx
lea ecx, [edx + eax]
mov esi, dword [ebp - 0x7c]
mov dword [esi + ebx], ecx
mov esi, ecx
cmp edi, dword [ebp - 0x2c]
jbe 0x658834
mov ebx, dword [ebp - 0x20]
mov ebx, dword [ebx]
mov edi, dword [ebp - 0x4c]
jmp 0x65883a
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
add edx, ebx
push eax
push ecx
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [ebx + esi], 0
mov ecx, dword [ebp - 0x38]
xor ecx, 0x4d89b6f2
mov eax, dword [0xb2a07c]
cmp dword [0xb2a088], ecx
jne 0x658874
lea ecx, [eax - 1]
mov edx, ecx
xor edx, 1
and ecx, 1
lea ecx, [edx + ecx*2]
jmp 0x658877
lea ecx, [eax + 1]
mov esi, dword [edi + 0x10]
mov dword [0xb2a07c], ecx
mov edx, dword [ebp - 0x38]
xor edx, 0x8aeb8ad0
cmp dword [0xb2a08c], edx
jne 0x65889d
mov dword [0xb2a0a0], 0x86769240
jmp 0x6588b2
test eax, ecx
je 0x6588b2
mov al, 0xff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x20], 0
jmp 0x658acd
mov dword [ebp - 0x9c], esi
mov ebx, dword [ebp - 0x38]
mov eax, ebx
xor eax, 0x1d1142d0
mov ecx, ebx
xor ecx, 0x1dd487dc
xor esi, esi
cmp dword [0xb2a090], eax
mov dword [ebp - 0x4c], 0
cmovne ecx, esi
mov edi, dword [ebp - 0xa0]
mov eax, dword [edi + ecx*4]
cmp dword [ebp - 0xa8], 0
jle 0x658ac0
mov edx, ebx
xor edx, 0xc259d7eb
add edx, dword [ebp - 0x80]
mov esi, ebx
shl esi, 0x1d
xor esi, ebx
xor esi, 0xdda62814
add edx, esi
mov dword [ebp - 0x20], edx
lea ecx, [edi + ecx*4]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, ebx
xor eax, 0x366f5648
mov dword [ebp - 0x4c], eax
mov eax, ebx
xor eax, 0xea7535e8
mov dword [ebp - 0x44], eax
mov eax, ebx
xor eax, 0x158aca17
mov dword [ebp - 0x50], eax
mov esi, ebx
shr esi, 1
mov edx, ebx
shl edx, 0x1f
lea eax, [ebx*4]
xor eax, 0x1bf93ba6
mov dword [ebp - 0x30], eax
mov eax, ebx
xor eax, 0xfb8fd68b
mov dword [ebp - 0x84], eax
lea eax, [ebx*8]
xor eax, 0x7df0e5dd
mov dword [ebp - 0x80], eax
mov edi, ebx
xor edi, 0x4702974
xor edx, ebx
xor edx, 0xc8e26316
xor esi, 0xe961ae5a
mov eax, ebx
shl eax, 4
xor eax, 0x853c6fba
mov ecx, ebx
xor ecx, 0xb71d9ce9
add edx, edi
adc esi, dword [ebp - 0x80]
add edx, dword [ebp - 0x84]
adc esi, dword [ebp - 0x30]
add edx, ecx
adc esi, eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x20]
add eax, ecx
inc eax
mov dword [ebp - 0x98], eax
add edx, 2
mov dword [ebp - 0x30], edx
adc esi, 0
mov dword [ebp - 0x84], esi
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
add eax, ecx
add eax, 2
mov dword [ebp - 0x80], eax
mov eax, ebx
xor al, 0xdc
mov byte [ebp - 0x75], al
mov eax, dword [0xb2a094]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xa4], 0
xor esi, esi
jmp 0x658a29
mov esi, edi
add esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x20]
xor al, ch
mov dword [ebp - 0x20], eax
cmp esi, dword [ebp - 0xa8]
jge 0x658aae
mov edx, dword [ebp - 0x98]
lea ecx, [edx + esi]
mov ebx, dword [ebp - 0x24]
sub ebx, ecx
mov ecx, dword [ebp - 0x50]
sbb ecx, 0
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x4c]
cmove ecx, dword [ebp - 0x84]
mov eax, ebx
cmove eax, dword [ebp - 0x30]
cmp eax, 1
sbb ecx, 0
mov edi, esi
mov ch, byte [edx + esi]
jge 0x658a10
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x4c]
cmove ebx, dword [ebp - 0x30]
mov edx, ebx
mov cl, byte [ebp - 0x75]
shl dl, cl
mov al, 0xff
mov cl, dl
shl al, cl
not al
and ch, al
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
lea edx, [eax + esi*4]
add edx, 4
add edx, dword [eax + esi*4 + 4]
mov dword [ebp - 0x24], edx
lea eax, [esi + 1]
add edi, dword [ebp - 0xcc]
add edi, ebx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xa4], eax
jmp 0x658a10
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x9c]
jmp 0x658ad0
mov dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x10], 0x15
push esi
call fcn.00652870
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp + eax - 0x74]
movzx ecx, byte [0xaafb24]
sub cl, byte [ebp - 0x20]
mov ebx, dword [ebp - 0x38]
mov edx, ebx
xor dl, 0x4b
mov eax, dword [ebp - 0x4c]
sub al, dl
and dl, al
xor al, bl
xor al, 0xb4
add dl, dl
sub al, dl
test cl, al
setne cl
or cl, byte [0xb53738]
and cl, 1
mov byte [0xb53738], cl
cmp edi, dword [ebp - 0x2c]
jbe 0x658bad
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
mov ecx, edi
xor ecx, 1
mov edx, edi
and edx, 1
lea edx, [ecx + edx*2]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edx, ecx
jbe 0x658b76
mov ecx, dword [eax - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, eax
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658d8d
mov edx, ebx
xor edx, 0x9dd487fb
add edi, edx
mov dword [ebp - 0x20], edi
mov edi, ecx
jmp 0x658b7b
mov edi, eax
mov dword [ebp - 0x20], edx
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, edi
mov edx, dword [ebp - 0x20]
push esi
call ebx
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
jbe 0x658c59
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x658c24
mov ecx, dword [edx - 4]
mov edi, edx
mov edx, ebx
xor edx, 0x622b7823
mov esi, ebx
xor esi, edx
xor esi, 0x9dd487dc
and esi, edi
xor esi, edx
and edx, edi
lea edx, [esi + edx*2]
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x658d99
mov edx, ebx
xor edx, 0x9dd487fb
add eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x20], ecx
jmp 0x658c27
mov dword [ebp - 0x20], edx
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
push esi
call ebx
add esp, 4
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
lea edi, [eax + ebp]
add edi, 0xfffffcf8
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + ecx - 0x308], eax
mov ecx, dword [ebp - 0x38]
mov edx, ecx
xor edx, 0x9dd487dc
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], edx
mov dword [ebp + eax - 0x308], edx
movzx eax, byte [0xb29ee4]
mov edx, ecx
xor dl, 0x93
cmp al, dl
je 0x658dd4
mov eax, dword [ebp - 0x38]
mov ecx, eax
xor cl, 0x5a
mov ah, al
xor ah, 0x9f
nop word cs:[eax + eax]
mov al, cl
lock cmpxchg byte [0xb29ee4], ah
je 0x658cd5
cmp al, dl
jne 0x658cc0
jmp 0x658dd4
mov ecx, dword [ebp - 0x3c]
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
xor ecx, ecx
cmp eax, 8
jb 0x658dbd
xor ecx, ecx
cmp eax, 0x20
jb 0x658d43
mov ecx, eax
and ecx, 0x7fffffe0
xor esi, esi
nop
movdqa xmm0, xmmword [esi + 0xaafb50]
movdqa xmm1, xmmword [esi + 0xaafb60]
pxor xmm0, xmmword [esi + 0xb29ee0]
pxor xmm1, xmmword [esi + 0xb29ef0]
movdqa xmmword [esi + 0xb29ee0], xmm0
movdqa xmmword [esi + 0xb29ef0], xmm1
add esi, 0x20
cmp ecx, esi
jne 0x658d00
cmp eax, ecx
je 0x658dce
test al, 0x18
je 0x658dbd
mov esi, ecx
mov ecx, eax
and ecx, 0x7ffffff8
nop dword [eax]
movq xmm0, qword [esi + 0xb29ee0]
movq xmm1, qword [esi + 0xaafb50]
pxor xmm1, xmm0
movq qword [esi + 0xb29ee0], xmm1
add esi, 8
cmp ecx, esi
jne 0x658d50
jmp 0x658dca
mov dword [ebp - 0x10], 9
call fcn.00748ef1
mov dword [ebp - 0x10], 8
call fcn.00748ef1
mov dword [ebp - 0x10], 0xa
call fcn.00748ef1
mov dword [ebp - 0x10], 0xb
call fcn.00748ef1
mov dword [ebp - 0x10], 7
call fcn.00748ef1
mov dword [ebp - 0x10], 5
call fcn.00748ef1
mov dh, byte [ecx + 0xaafb50]
xor byte [ecx + 0xb29ee0], dh
inc ecx
cmp eax, ecx
jne 0x658dbd
xchg byte [0xb29ee4], dl
movzx eax, byte [0xb29ee2]
mov byte [edi + 2], al
movzx eax, word [0xb29ee0]
mov word [edi], ax
mov eax, dword [ebp - 0x38]
xor eax, 0x9dd487d8
mov byte [ebp + eax - 0x308], 0
mov dword [ebp - 0x308], 0x799e70
mov dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp dword [ebp + edx - 0x308], ecx
jbe 0x658e1e
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp + eax - 0x308]
mov dword [ebp - 0x30], edi
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x4c]
lea eax, [ebx + ecx]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebx + edi]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebx + edx]
mov edx, esi
sub edx, ecx
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov edx, eax
jae 0x658e70
mov dword [ebp - 0x10], 0x12
sub esp, 0x10
movzx ecx, byte [ebp - 0x74]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp], edx
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
jmp 0x658e98
add edx, ecx
mov dword [ebx + edi], edx
mov edi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x2c]
jbe 0x658e82
mov eax, dword [ebp - 0x20]
mov edi, dword [eax]
mov eax, dword [ebp - 0x30]
movzx esi, word [eax]
movzx eax, byte [eax + 2]
mov byte [edi + ecx + 2], al
mov word [edi + ecx], si
mov byte [edi + edx], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x108]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp + esi - 0x108], edx
jbe 0x658ebf
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + edi]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ecx + esi]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x658f03
mov dword [ebp - 0x10], 0x12
sub esp, 0x10
movzx edx, byte [ebp - 0x74]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x30]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
jmp 0x658f29
lea esi, [edx + eax]
mov dword [ecx + edi], esi
mov edi, dword [ebp - 0x20]
cmp ebx, dword [ebp - 0x2c]
jbe 0x658f16
mov ecx, dword [ebp - 0x20]
mov edi, dword [ecx]
add edx, edi
push eax
push dword [ebp - 0x30]
push edx
call fcn.0077cce0
add esp, 0xc
mov byte [edi + esi], 0
mov ecx, dword [ebp - 0x3c]
lea eax, [ecx + ebp]
add eax, 0xffffff8c
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + edi - 0x74], eax
mov ebx, dword [ebp - 0x34]
mov dword [ebp + ebx - 0x74], 1
mov edx, dword [ebp - 0x38]
mov eax, edx
xor al, 0xf1
mov byte [ebp + ecx - 0x74], al
mov eax, edx
xor eax, 0x9dd487da
mov byte [ebp + eax - 0x74], 0
mov dword [ebp - 0x74], 0x799e70
mov esi, dword [ebp - 0x4c]
mov eax, dword [esi + ebx]
mov ecx, dword [esi + edi]
cmp ecx, eax
jne 0x658faa
mov dword [ebp - 0x10], 0x13
sub esp, 0x10
movzx eax, byte [ebp - 0x40]
mov byte [esp + 4], al
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp], 1
mov ecx, dword [ebp - 0x20]
call fcn.0052d5f0
mov esi, dword [ebp - 0x30]
jmp 0x658fcf
mov edi, dword [ebp - 0x30]
lea edx, [eax + 1]
mov dword [esi + ebx], edx
cmp ecx, dword [ebp - 0x2c]
jbe 0x658fbf
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
jmp 0x658fc2
mov edx, dword [ebp - 0x20]
mov esi, edi
movzx ecx, byte [edi]
mov byte [edx + eax], cl
mov byte [edx + eax + 1], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x74]
cmp eax, dword [ebp - 0x2c]
jbe 0x659073
mov esi, dword [esi]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x65903e
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x659130
mov edx, ebx
xor edx, 0x368f3a30
mov esi, ebx
xor esi, 0x622b7804
sub esi, edx
inc esi
mov edi, esi
xor edi, edx
and esi, edx
lea edx, [edi + esi*2]
sub eax, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
mov dword [ebp - 0x34], ecx
jmp 0x659041
mov dword [ebp - 0x34], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x34]
mov edx, edi
push esi
call ebx
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax - 0x308]
cmp eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
jbe 0x659128
mov esi, dword [ecx]
mov ecx, eax
xor ecx, 1
mov edx, eax
and edx, 1
lea edi, [ecx + edx*2]
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
xor ecx, 0x9dd48820
cmp edi, ecx
jbe 0x6590f3
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x622b7823
mov edi, dword [ebp - 0x24]
xor edi, edx
and edi, esi
xor edi, edx
and edx, esi
add edx, edx
mov esi, edi
xor esi, edx
and edx, edi
lea edx, [esi + edx*2]
sub edx, ecx
mov esi, ebx
xor esi, 0x9dd487ff
cmp edx, esi
jae 0x65913c
mov edx, ebx
xor edx, 0x9dd487fb
mov esi, eax
xor esi, edx
and edx, eax
lea edi, [esi + edx*2]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x34], ecx
jmp 0x6590f6
mov dword [ebp - 0x34], esi
mov esi, ebx
xor esi, 0xb6ec8b2b
mov eax, dword [0xb2a330]
mov ebx, dword [0xb2a328]
sub ebx, dword [ebp - 0x48]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [ebp - 0x34]
mov edx, edi
push esi
call ebx
add esp, 4
mov edi, dword [ebp - 0x58]
jmp 0x657cd4
mov dword [ebp - 0x10], 0xc
call fcn.00748ef1
mov dword [ebp - 0x10], 0xd
call fcn.00748ef1
nop dword [eax + eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
mov eax, dword [0xb2a33c]
mov esi, dword [0xb2a324]
sub esi, dword [ebp - 0x48]
add esi, eax
mov ecx, esi
call dword [0xb0836c]
lea ecx, [ebp - 0x308]
call esi
add esp, 0x14
pop ebp
ret