Function at 0x465850
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rax, qword [rcx + 0x98]
test rax, rax
mov r14, rcx
mov dword [rsp + 0x1b8], edx
mov dword [rsp + 0x1c0], r8d
mov dword [rsp + 0x1c8], r9d
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xe8], eax
jne 0x4659b5
mov rcx, qword [rcx]
call qword [r14 + 0x10]
test eax, eax
je 0x46862d
lea rdx, [rsp + 0x150]
mov rcx, r14
call fcn.00464410
mov r9d, dword [r14 + 0x5c]
mov ecx, 0x800
mov eax, dword [r14 + 0xb8]
lea rbx, [r14 + 0xb8]
mov r8, r9
shl r8, 5
shr eax, 0xb
add r8, r14
movzx edx, word [r8 + 0x33ee4]
imul eax, edx
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8 + 0x33ee4], dx
jbe 0x468aa8
lea rax, [0x0080f0a0]
mov rcx, qword [r14]
mov esi, 0x800
mov eax, dword [rax + r9*4]
mov dword [r14 + 0x5c], eax
call qword [r14 + 0x18]
mov edx, dword [r14 + 0x48]
mov rbp, qword [r14 + 0x78]
sub rax, rdx
movzx edi, byte [rax]
or edi, 0x100
jmp 0x46597b
mov ecx, esi
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8], dx
ja 0x46596d
shl eax, 8
mov rcx, rbx
mov dword [r14 + 0xb8], eax
call fcn.004646f0
add edi, edi
cmp edi, 0xffff
ja 0x468ac3
mov eax, edi
mov ecx, dword [r14 + 0xb8]
shr eax, 8
lea r8, [rbp + rax*2]
movzx edx, word [r8]
mov eax, ecx
shr eax, 0xb
imul eax, edx
test dil, 0x80
je 0x465940
sub ecx, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x465949
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x70], eax
mov rcx, qword [r14]
call qword [r14 + 0x10]
test eax, eax
je 0x468a9f
lea rax, [r14 + 0xb8]
mov qword [rsp + 0x78], rax
mov r13d, dword [r14 + 0x80]
test r13d, r13d
je 0x465d4b
mov r12d, dword [r14 + 0x48]
test r12d, r12d
je 0x466819
mov eax, dword [r14 + 0x3c]
mov edi, dword [r14 + 0x38]
mov dword [rsp + 0x150], eax
mov r12d, dword [r14 + 0x40]
cmp r12d, 1
jbe 0x46638e
cmp r12d, 0x111
mov eax, 0x111
mov rcx, qword [r14]
cmova r12d, eax
xor esi, esi
xor ebx, ebx
call qword [r14 + 0x18]
mov r11d, dword [r14 + 0x44]
xor edx, edx
movzx r9d, byte [rax - 1]
mov ecx, dword [r14 + rdx*4 + 0x4c]
mov r13d, edx
not rcx
lea rcx, [rax + rcx - 1]
cmp byte [rcx], r9b
je 0x4662d5
add rdx, 1
cmp rdx, 4
jne 0x465a3b
lea rbp, [r14 + 0x32a10]
cmp edi, r11d
jb 0x466737
mov eax, dword [rsp + 0x150]
mov edx, edi
sub eax, 1
mov esi, dword [rbp + rax*4]
add esi, 4
sub edx, 1
jne 0x466a73
mov edi, dword [rsp + 0x70]
and edi, dword [r14 + 0x70]
mov eax, dword [r14 + 0x5c]
mov r12d, edi
mov rdx, rax
shl rdx, 4
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
cmp esi, 0xffffffff
mov ebx, 1
je 0x4663b0
mov edx, dword [r14 + 0xb8]
mov r8d, edx
shr r8d, 0xb
imul r8d, ecx
mov r9d, r8d
sub edx, r8d
mov r8, rax
add qword [r14 + 0xc0], r9
mov r9d, ecx
shl r8, 4
mov dword [r14 + 0xb8], edx
shr r9d, 5
lea r8, [r8 + r12 + 0x19f70]
sub ecx, r9d
cmp edx, 0xffffff
mov word [r14 + r8*2 + 4], cx
ja 0x465b28
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
mov eax, dword [r14 + 0x5c]
lea r9, [r14 + rax*2]
cmp esi, 3
movzx ecx, word [r9 + 0x34064]
ja 0x465dac
mov r8d, edx
shr r8d, 0xb
imul r8d, ecx
sub edx, r8d
mov r10d, r8d
mov r8d, ecx
shr r8d, 5
mov dword [r14 + 0xb8], edx
add qword [r14 + 0xc0], r10
sub ecx, r8d
cmp edx, 0xffffff
mov word [r9 + 0x34064], cx
ja 0x465b95
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
mov eax, dword [r14 + 0x5c]
test esi, esi
jne 0x466601
lea r9, [r14 + rax*2]
shr edx, 0xb
mov r8d, 0x800
movzx ecx, word [r9 + 0x3407c]
imul edx, ecx
sub r8d, ecx
shr r8d, 5
add ecx, r8d
cmp edx, 0xffffff
mov dword [r14 + 0xb8], edx
mov word [r9 + 0x3407c], cx
ja 0x465bf5
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
mov eax, dword [r14 + 0x5c]
mov rcx, rax
shl rcx, 4
add r12, rcx
mov ecx, edx
lea r9, [r14 + r12*2]
shr ecx, 0xb
movzx r8d, word [r9 + 0x340c4]
imul ecx, r8d
cmp ebx, 1
jne 0x4664e2
mov edx, 0x800
mov dword [r14 + 0xb8], ecx
sub edx, r8d
shr edx, 5
add edx, r8d
cmp ecx, 0xffffff
mov word [r9 + 0x340c4], dx
ja 0x465c65
mov eax, ecx
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
cmp ebx, 1
jne 0x466515
mov eax, dword [r14 + 0x5c]
lea rdx, str._t_t_t_t_t_t_t_v_v_v_v_v
mov ebx, 1
mov eax, dword [rdx + rax*4]
mov dword [r14 + 0x5c], eax
mov eax, dword [r14 + 0x48]
add dword [rsp + 0x70], ebx
sub eax, ebx
test eax, eax
mov dword [r14 + 0x48], eax
jne 0x4659db
mov r9d, dword [r14 + 0x80]
test r9d, r9d
jne 0x465cb6
cmp dword [r14 + 0xa0], 0x7f
ja 0x466b92
cmp dword [r14 + 0xa4], 0xf
ja 0x466aa7
mov rcx, qword [r14]
call qword [r14 + 0x10]
test eax, eax
mov eax, dword [rsp + 0x70]
je 0x466b86
mov r8d, dword [rsp + 0x1b8]
sub eax, dword [rsp + 0xe8]
test r8d, r8d
je 0x466563
lea edx, [rax + 0x112c]
cmp edx, dword [rsp + 0x1c8]
jae 0x465d24
mov rcx, qword [r14 + 0xc8]
mov rdx, qword [r14 + 0xd0]
add rcx, qword [r14 + 0xf0]
sub rdx, qword [r14 + 0xe0]
lea rcx, [rcx + rdx + 0x2000]
mov edx, dword [rsp + 0x1c0]
cmp rcx, rdx
jb 0x4659db
add qword [r14 + 0x98], rax
mov rcx, r14
mov edx, dword [rsp + 0x70]
call fcn.004647d0
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r14 + 0x34]
cmp dword [r14 + 0x30], edx
je 0x46688e
mov eax, edx
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
mov ecx, dword [rax + 0x828]
mov esi, dword [rax + 0x82c]
mov ebx, ecx
mov dword [r14 + 0x34], ecx
sub ebx, edx
mov edi, dword [rsp + 0x70]
and edi, dword [r14 + 0x70]
cmp ebx, 1
je 0x465a92
mov eax, dword [r14 + 0x5c]
mov r12d, edi
mov rdx, rax
shl rdx, 4
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
jmp 0x465abc
shr edx, 0xb
mov r8d, 0x800
imul edx, ecx
sub r8d, ecx
shr r8d, 5
add ecx, r8d
cmp edx, 0xffffff
mov dword [r14 + 0xb8], edx
mov word [r9 + 0x34064], cx
ja 0x465df1
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov eax, dword [r14 + 0x5c]
mov r12d, dword [r14 + 0x80]
lea ebp, [rbx - 2]
mov r9d, edi
lea rdx, str._a_a_a_a_a_a_a_n_n_n_n_n
mov r8d, ebp
mov eax, dword [rdx + rax*4]
lea rcx, [r14 + 0x34548]
mov rdx, qword [rsp + 0x78]
mov dword [r14 + 0x5c], eax
lea rax, [r14 + 0x32810]
mov qword [rsp + 0x28], rax
xor eax, eax
test r12d, r12d
sete al
mov dword [rsp + 0x20], eax
call fcn.00465030
lea eax, [rsi - 4]
cmp eax, 0x7f
mov dword [rsp + 0x30], eax
ja 0x4665d0
movzx r15d, byte [r14 + rax + 0x30810]
mov eax, ebp
mov edi, 1
mov dword [rsp + 0x40], ebx
mov r12d, 6
shl rax, 7
cmp ebx, 4
mov r10d, 0x800
lea rdx, [rax + 0x34244]
mov eax, 0x343c4
mov r13d, 0xffffffff
cmovbe rax, rdx
mov rbp, rax
jmp 0x465eb5
mov r8d, r10d
sub r8d, edx
shr r8d, 5
add edx, r8d
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [rcx], dx
jbe 0x465eff
add edi, edi
or edi, esi
test r12d, r12d
je 0x466018
sub r12d, 1
mov eax, edi
mov esi, r15d
mov r8d, dword [r14 + 0xb8]
mov ecx, r12d
shr esi, cl
lea rcx, [rbp + rax*2]
add rcx, r14
mov eax, r8d
movzx edx, word [rcx]
shr eax, 0xb
imul eax, edx
and esi, 1
je 0x465e8a
sub r8d, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, r8d
mov r8d, edx
shr r8d, 5
sub edx, r8d
jmp 0x465e97
shl eax, 8
mov dword [r14 + 0xb8], eax
mov rax, qword [r14 + 0xc0]
cmp eax, 0xfeffffff
mov edx, eax
jbe 0x465f29
mov rcx, rax
shr rcx, 0x20
test rcx, rcx
je 0x4664d6
movzx edx, byte [r14 + 0xbc]
mov r8, qword [r14 + 0xd0]
jmp 0x465f68
mov rax, qword [r14 + 0xc8]
sub rax, 1
test rax, rax
mov qword [r14 + 0xc8], rax
je 0x465fe1
mov rax, qword [r14 + 0xc0]
mov edx, r13d
mov r8, rcx
lea rcx, [r8 + 1]
shr rax, 0x20
add eax, edx
mov byte [r8], al
cmp rcx, qword [r14 + 0xd8]
mov qword [r14 + 0xd0], rcx
jne 0x465f40
mov r11d, dword [r14 + 0xf8]
test r11d, r11d
jne 0x465f40
mov rdx, qword [r14 + 0xe0]
mov rbx, rcx
mov dword [rsp + 0x38], r10d
mov rax, qword [r14 + 0xe8]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call qword [rax]
mov r10d, dword [rsp + 0x38]
cmp rbx, rax
je 0x465fc7
mov dword [r14 + 0xf8], 9
mov rcx, qword [r14 + 0xe0]
add qword [r14 + 0xf0], rbx
mov qword [r14 + 0xd0], rcx
jmp 0x465f40
mov rcx, qword [r14 + 0xc0]
mov edx, ecx
shr ecx, 0x18
mov byte [r14 + 0xbc], cl
add rax, 1
shl edx, 8
add edi, edi
mov qword [r14 + 0xc8], rax
or edi, esi
mov eax, edx
test r12d, r12d
mov qword [r14 + 0xc0], rax
jne 0x465eb5
cmp r15d, 3
mov ebx, dword [rsp + 0x40]
jbe 0x4662a8
mov edi, r15d
mov eax, r15d
mov esi, dword [rsp + 0x30]
shr edi, 1
and eax, 1
lea r11d, [rdi - 1]
or eax, 2
mov ecx, r11d
shl eax, cl
sub esi, eax
cmp r15d, 0xd
ja 0x466830
lea r10, [r14 + 0x34444]
sub rax, r15
mov edi, 1
lea r13, [rax + rax - 2]
mov r15d, 0x800
jmp 0x4660c0
mov ecx, r15d
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8], dx
ja 0x4660ad
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov qword [rsp + 0x40], r10
mov dword [r14 + 0xb8], eax
mov dword [rsp + 0x38], r11d
call fcn.004646f0
mov r10, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x38]
add edi, edi
add r12d, 1
shr esi, 1
or edi, ebp
cmp r11d, r12d
jle 0x4662a8
mov eax, edi
mov ecx, dword [r14 + 0xb8]
mov ebp, esi
lea r8, [r13 + rax*2]
add r8, r10
movzx edx, word [r8]
mov eax, ecx
shr eax, 0xb
imul eax, edx
and ebp, 1
je 0x466069
sub ecx, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x466073
movzx eax, word [r14 + 0x3452a]
mov ecx, edx
mov edi, esi
lea rbp, [r14 + 0x34528]
shr ecx, 0xb
imul ecx, eax
and edi, 1
je 0x466a96
mov r8d, ecx
sub edx, ecx
add qword [r14 + 0xc0], r8
mov ecx, edx
mov edx, eax
shr edx, 5
sub eax, edx
cmp ecx, 0xffffff
mov dword [r14 + 0xb8], ecx
mov word [r14 + 0x3452a], ax
ja 0x466167
shl ecx, 8
mov dword [r14 + 0xb8], ecx
mov rcx, qword [rsp + 0x78]
call fcn.004646f0
mov ecx, dword [r14 + 0xb8]
or edi, 2
mov r12d, esi
mov r8d, ecx
shr r8d, 0xb
mov eax, edi
shr r12d, 1
lea r9, [rbp + rax*2]
movzx eax, word [r9]
imul r8d, eax
and r12d, 1
je 0x466a85
mov edx, r8d
sub ecx, r8d
add qword [r14 + 0xc0], rdx
mov edx, eax
mov r8d, ecx
shr edx, 5
sub eax, edx
cmp r8d, 0xffffff
mov dword [r14 + 0xb8], r8d
mov word [r9], ax
ja 0x4661d7
mov rcx, qword [rsp + 0x78]
shl r8d, 8
mov dword [r14 + 0xb8], r8d
call fcn.004646f0
mov r8d, dword [r14 + 0xb8]
add edi, edi
mov eax, esi
mov ecx, r8d
shr ecx, 0xb
or r12d, edi
shr eax, 2
mov edx, r12d
lea r9, [rbp + rdx*2]
movzx edx, word [r9]
imul ecx, edx
and eax, 1
mov edi, eax
je 0x466c19
mov eax, ecx
sub r8d, ecx
add qword [r14 + 0xc0], rax
mov eax, edx
mov ecx, r8d
shr eax, 5
sub edx, eax
cmp ecx, 0xffffff
mov dword [r14 + 0xb8], ecx
mov word [r9], dx
ja 0x466245
shl ecx, 8
mov dword [r14 + 0xb8], ecx
mov rcx, qword [rsp + 0x78]
call fcn.004646f0
mov ecx, dword [r14 + 0xb8]
lea eax, [r12 + r12]
or eax, edi
lea r8, [rbp + rax*2]
mov eax, ecx
movzx edx, word [r8]
shr eax, 0xb
imul eax, edx
and esi, 8
je 0x466c08
mov r9d, eax
sub ecx, eax
add qword [r14 + 0xc0], r9
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8], dx
ja 0x4662a0
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
add dword [r14 + 0xa4], 1
mov eax, dword [r14 + 0x54]
add dword [r14 + 0xa0], 1
mov dword [r14 + 0x58], eax
mov eax, dword [r14 + 0x50]
mov dword [r14 + 0x54], eax
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x50], eax
mov eax, dword [rsp + 0x30]
mov dword [r14 + 0x4c], eax
jmp 0x465c78
movzx r15d, byte [rcx + 1]
cmp byte [rax], r15b
jne 0x465a54
cmp r12d, 2
je 0x468a80
movzx r15d, byte [rcx + 2]
cmp byte [rax + 1], r15b
jne 0x468a80
xor r8d, r8d
mov ebp, 2
jmp 0x466317
movzx r10d, byte [rax + r8 + 2]
add r8, 1
cmp r10b, byte [rcx + r8 + 2]
jne 0x46631f
add ebp, 1
cmp ebp, r12d
jne 0x466306
cmp ebp, r11d
jae 0x468a4d
cmp ebp, ebx
jbe 0x465a54
mov ebx, ebp
mov esi, r13d
jmp 0x465a54
lea eax, [rbx + 3]
cmp eax, edi
jb 0x46634e
cmp r13d, 0x7fff
ja 0x466806
cmp edi, 1
jbe 0x46638e
cmp r12d, 2
jbe 0x46638e
lea rdx, [r14 + 0x3c]
mov rcx, r14
call fcn.00464410
cmp eax, 1
mov dword [r14 + 0x38], eax
jbe 0x466d3c
mov edx, dword [r14 + 0x3c]
sub edx, 1
cmp eax, edi
mov edx, dword [rbp + rdx*4]
jb 0x466d11
cmp edx, r13d
jae 0x466d11
mov eax, dword [r14 + 0x5c]
mov r12d, dword [rsp + 0x70]
and r12d, dword [r14 + 0x70]
mov rdx, rax
shl rdx, 4
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
mov edx, dword [r14 + 0xb8]
mov r8d, 0x800
shl rax, 4
lea rax, [rax + r12 + 0x19f70]
sub r8d, ecx
shr r8d, 5
shr edx, 0xb
imul edx, ecx
add ecx, r8d
cmp edx, 0xffffff
mov dword [r14 + 0xb8], edx
mov word [r14 + rax*2 + 4], cx
ja 0x466402
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov rcx, qword [r14]
call qword [r14 + 0x18]
mov edx, dword [r14 + 0x48]
mov r10d, 8
mov ecx, dword [r14 + 0x60]
sub rax, rdx
mov edx, dword [rsp + 0x70]
mov r8, rax
and edx, dword [r14 + 0x6c]
sub r10d, ecx
movzx r9d, byte [r8 - 1]
movzx eax, byte [rax]
shl edx, cl
mov ecx, r10d
sar r9d, cl
mov rcx, qword [r14 + 0x78]
add edx, r9d
lea edx, [rdx + rdx*2]
shl edx, 8
cmp dword [r14 + 0x5c], 6
lea rbx, [rcx + rdx*2]
ja 0x466c6c
or ah, 1
mov esi, 0x800
mov edi, eax
jmp 0x46649d
mov ecx, esi
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8], dx
ja 0x46648f
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
add edi, edi
cmp edi, 0xffff
ja 0x466c50
mov eax, edi
mov ecx, dword [r14 + 0xb8]
shr eax, 8
lea r8, [rbx + rax*2]
movzx edx, word [r8]
mov eax, ecx
shr eax, 0xb
imul eax, edx
test dil, 0x80
je 0x466460
sub ecx, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x466469
mov rax, qword [r14 + 0xc8]
jmp 0x465ff4
sub edx, ecx
mov eax, ecx
add qword [r14 + 0xc0], rax
mov eax, r8d
mov ecx, edx
mov dword [r14 + 0xb8], edx
shr eax, 5
mov edx, r8d
sub edx, eax
cmp ecx, 0xffffff
mov word [r9 + 0x340c4], dx
jbe 0x465c42
mov r13d, dword [r14 + 0x80]
lea r8d, [rbx - 2]
mov r9d, edi
lea rax, [r14 + 0x32810]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rcx, [r14 + 0x38d90]
xor eax, eax
test r13d, r13d
sete al
mov dword [rsp + 0x20], eax
call fcn.00465030
mov edx, dword [r14 + 0x5c]
lea rax, str._b_b_b_b_b_b_b_v_v_v_v_v
mov eax, dword [rax + rdx*4]
mov dword [r14 + 0x5c], eax
jmp 0x465c78
cmp eax, 0x1ffff
jbe 0x4659db
add qword [r14 + 0x98], rax
mov eax, dword [r14 + 0xb0]
test eax, eax
jne 0x465d37
mov ecx, dword [r14 + 0xf8]
test ecx, ecx
je 0x468a39
mov edx, dword [r14 + 0x384]
mov eax, 9
mov dword [r14 + 0xb0], 9
test edx, edx
je 0x4665be
mov dword [r14 + 0xb0], 8
mov eax, 8
mov dword [r14 + 0x88], 1
jmp 0x465d37
cmp eax, 0x80000
mov edi, eax
sbb eax, eax
mov edx, edi
and eax, 0xffffffe8
cmp edi, 0x80000
sbb ecx, ecx
and ecx, 0xfffffff4
add ecx, 0x12
shr edx, cl
movzx edx, byte [r14 + rdx + 0x30810]
lea r15d, [rax + rdx + 0x24]
jmp 0x465e51
lea r9, [r14 + rax*2]
mov ecx, esi
mov r8d, edx
mov ebp, dword [r14 + rcx*4 + 0x4c]
shr r8d, 0xb
movzx ecx, word [r9 + 0x3407c]
imul r8d, ecx
sub edx, r8d
mov r10d, r8d
mov r8d, ecx
shr r8d, 5
mov dword [r14 + 0xb8], edx
add qword [r14 + 0xc0], r10
sub ecx, r8d
cmp edx, 0xffffff
mov word [r9 + 0x3407c], cx
ja 0x46666c
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
mov eax, dword [r14 + 0x5c]
cmp esi, 1
je 0x466b9f
lea r9, [r14 + rax*2]
mov r8d, edx
movzx ecx, word [r9 + 0x34094]
shr r8d, 0xb
imul r8d, ecx
sub edx, r8d
mov r10d, r8d
mov r8d, ecx
shr r8d, 5
mov dword [r14 + 0xb8], edx
add qword [r14 + 0xc0], r10
sub ecx, r8d
cmp edx, 0xffffff
mov word [r9 + 0x34094], cx
ja 0x4666d9
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
mov eax, dword [r14 + 0x5c]
lea rcx, [r14 + rax*2]
mov eax, edx
movzx r8d, word [rcx + 0x340ac]
shr eax, 0xb
imul eax, r8d
cmp esi, 2
jne 0x4669f6
mov edx, 0x800
mov dword [r14 + 0xb8], eax
sub edx, r8d
shr edx, 5
add edx, r8d
cmp eax, 0xffffff
mov word [rcx + 0x340ac], dx
jbe 0x466c2a
mov eax, dword [r14 + 0x50]
mov dword [r14 + 0x54], eax
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x4c], ebp
mov dword [r14 + 0x50], eax
jmp 0x465c58
cmp edi, 1
jbe 0x466bf2
mov r9d, dword [rsp + 0x150]
lea eax, [r9 - 1]
cmp r9d, 2
mov r13d, dword [rbp + rax*4]
jbe 0x4667c6
lea eax, [r9 - 4]
mov edx, dword [rbp + rax*4]
lea eax, [rdx + 1]
cmp edi, eax
jne 0x4667c6
lea eax, [r9 - 3]
sub r9d, 2
mov r8d, dword [rbp + rax*4]
mov eax, r13d
shr eax, 7
cmp eax, r8d
ja 0x4667b3
jmp 0x4667c6
lea eax, [r9 - 4]
mov eax, dword [rbp + rax*4]
lea edi, [rax + 1]
cmp edi, edx
jne 0x4667b9
lea edx, [r9 - 3]
mov r10d, r8d
mov ecx, dword [rbp + rdx*4]
lea edx, [r9 - 2]
shr r10d, 7
cmp r10d, ecx
jbe 0x4672c4
mov r9d, edx
mov r8d, ecx
mov edx, eax
cmp r9d, 2
ja 0x466780
mov dword [rsp + 0x150], r9d
mov edi, edx
mov r13d, r8d
cmp edi, 2
jne 0x466bfa
cmp r13d, 0x7f
jbe 0x466bfa
mov edi, 1
cmp ebx, 1
jbe 0x46638e
lea eax, [rbx + 1]
cmp eax, edi
jae 0x466806
lea eax, [rbx + 2]
cmp eax, edi
jb 0x46633a
cmp r13d, 0x1ff
jbe 0x46633a
lea edx, [rbx - 1]
mov rcx, qword [r14]
add dword [r14 + 0x48], edx
call qword [r14 + 0x28]
jmp 0x465d7a
lea rdx, [rsp + 0x150]
mov rcx, r14
call fcn.00464410
mov edi, eax
jmp 0x465a07
mov ebp, esi
sub edi, 5
mov edx, dword [r14 + 0xb8]
shr ebp, 4
jmp 0x466849
test edi, edi
je 0x4660fe
sub edi, 1
mov eax, ebp
shr edx, 1
mov ecx, edi
mov dword [r14 + 0xb8], edx
shr eax, cl
and eax, 1
neg eax
and eax, edx
add qword [r14 + 0xc0], rax
cmp edx, 0xffffff
ja 0x466841
mov rcx, qword [rsp + 0x78]
shl edx, 8
mov dword [r14 + 0xb8], edx
call fcn.004646f0
mov edx, dword [r14 + 0xb8]
jmp 0x466841
mov ebp, dword [r14 + 0x48]
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x34], 0
test ebp, ebp
je 0x466df4
mov eax, dword [r14 + 0x3c]
mov ebx, dword [r14 + 0x38]
mov dword [rsp + 0x13c], eax
mov r12d, dword [r14 + 0x40]
cmp r12d, 1
jbe 0x46638e
cmp r12d, 0x111
mov eax, 0x111
mov rcx, qword [r14]
cmova r12d, eax
xor esi, esi
call qword [r14 + 0x18]
xor r8d, r8d
xor r11d, r11d
movzx edi, byte [rax - 1]
lea r15, [rax - 1]
lea rdx, [rsp + 0x150]
mov byte [rsp + 0x38], dil
lea rdi, [rsp + 0x140]
mov qword [rsp + 0xe0], rdi
mov ecx, dword [r14 + r8*4 + 0x4c]
mov r10d, r8d
mov rdi, qword [rsp + 0xe0]
mov dword [rdi + r8*4], ecx
not rcx
movzx edi, byte [rsp + 0x38]
add rcx, r15
cmp byte [rcx], dil
je 0x466990
mov dword [rdx + r8*4], 0
add r8, 1
cmp r8, 4
jne 0x46690b
mov r13d, dword [rsp + r11*4 + 0x150]
mov ecx, dword [r14 + 0x44]
cmp r13d, ecx
jb 0x466a34
mov edx, r13d
sub edx, 1
jne 0x4672b1
mov eax, dword [r14 + 0x5c]
mov edi, dword [rsp + 0x70]
and edi, dword [r14 + 0x70]
mov rdx, rax
shl rdx, 4
mov r12d, edi
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
mov ebx, 1
jmp 0x465abc
movzx edi, byte [rcx + 1]
cmp byte [rax], dil
jne 0x46692f
cmp r12d, 2
je 0x468a2e
xor edi, edi
movzx ebp, byte [rcx + 2]
mov r9d, 2
cmp byte [rax + 1], bpl
je 0x4669d0
jmp 0x4669d9
movzx ebp, byte [rax + rdi + 2]
add rdi, 1
cmp bpl, byte [rcx + rdi + 2]
jne 0x4669d9
add r9d, 1
cmp r12d, r9d
jne 0x4669c0
mov dword [rdx + r8*4], r9d
cmp dword [rsp + r11*4 + 0x150], r9d
jae 0x466937
mov r11d, r10d
mov rsi, r11
jmp 0x466937
sub edx, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, edx
mov edx, r8d
shr edx, 5
mov dword [r14 + 0xb8], eax
sub r8d, edx
cmp eax, 0xffffff
mov word [rcx + 0x340ac], r8w
jbe 0x466c2a
mov eax, dword [r14 + 0x54]
mov dword [r14 + 0x58], eax
jmp 0x46671e
lea rdi, [r14 + 0x32a10]
cmp ecx, ebx
mov qword [rsp + 0x30], rdi
ja 0x466e0e
mov eax, dword [rsp + 0x13c]
mov edx, ebx
sub eax, 1
mov esi, dword [rdi + rax*4]
add esi, 4
sub edx, 1
je 0x465a8a
add dword [r14 + 0x48], edx
mov rcx, qword [r14]
call qword [r14 + 0x28]
jmp 0x465d7a
add dword [r14 + 0x48], edx
mov ebx, edi
mov rcx, qword [r14]
call qword [r14 + 0x28]
jmp 0x465d7a
mov edx, 0x800
sub edx, eax
shr edx, 5
add eax, edx
jmp 0x4661a7
mov edx, 0x800
sub edx, eax
shr edx, 5
add eax, edx
jmp 0x466135
movzx r11d, word [r14 + 0x3452a]
lea r10, [r14 + 0x34528]
xor r8d, r8d
lea r9, [r14 + 0x32810]
mov eax, r8d
mov ebx, r8d
and eax, 1
shr ebx, 1
mov edx, eax
and ebx, 1
neg eax
or edx, 2
mov esi, ebx
and eax, 0x7ff
mov ecx, edx
neg esi
xor eax, r11d
movzx ecx, word [r10 + rcx*2]
and esi, 0x7ff
sar eax, 4
cdqe
xor ecx, esi
mov esi, dword [r9 + rax*4]
lea eax, [rdx + rdx]
sar ecx, 4
movsxd rcx, ecx
or eax, ebx
add esi, dword [r9 + rcx*4]
mov ecx, r8d
mov edx, eax
add eax, eax
shr ecx, 2
movzx edx, word [r10 + rdx*2]
and ecx, 1
mov ebx, ecx
or eax, ecx
mov ecx, r8d
neg ebx
movzx eax, word [r10 + rax*2]
shr ecx, 3
and ebx, 0x7ff
neg ecx
xor edx, ebx
and ecx, 0x7ff
sar edx, 4
movsxd rdx, edx
xor eax, ecx
add esi, dword [r9 + rdx*4]
sar eax, 4
cdqe
mov edx, esi
add edx, dword [r9 + rax*4]
mov dword [r14 + r8*4 + 0x33ea4], edx
add r8, 1
cmp r8, 0x10
jne 0x466ac0
mov dword [r14 + 0xa4], 0
mov rcx, qword [r14]
call qword [r14 + 0x10]
test eax, eax
mov eax, dword [rsp + 0x70]
jne 0x465cc9
sub eax, dword [rsp + 0xc8]
jmp 0x465d24
mov rcx, r14
call fcn.004644d0
jmp 0x465ca8
lea r8, [r14 + rax*2]
mov eax, edx
mov edx, 0x800
movzx ecx, word [r8 + 0x34094]
shr eax, 0xb
imul eax, ecx
sub edx, ecx
shr edx, 5
add ecx, edx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8 + 0x34094], cx
ja 0x466726
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
jmp 0x466726
xor r13d, r13d
jmp 0x4667de
cmp ebx, 1
ja 0x4667e7
jmp 0x46634e
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
jmp 0x46627a
mov eax, 0x800
sub eax, edx
shr eax, 5
add edx, eax
jmp 0x466217
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
cmp esi, 3
jne 0x46671e
jmp 0x466a27
mov eax, dword [r14 + 0x5c]
lea rbx, [0x0080f0a0]
mov eax, dword [rbx + rax*4]
mov ebx, 1
mov dword [r14 + 0x5c], eax
jmp 0x465c78
mov edx, dword [r14 + 0x4c]
or ah, 1
mov r12d, 0x100
mov esi, 0x800
mov edi, eax
not rdx
movzx ebp, byte [r8 + rdx]
jmp 0x466ccc
mov ecx, esi
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [r14 + 0xb8], eax
mov word [r8], dx
ja 0x466cb9
mov rcx, qword [rsp + 0x78]
shl eax, 8
mov dword [r14 + 0xb8], eax
call fcn.004646f0
add edi, edi
mov eax, ebp
xor eax, edi
not eax
and r12d, eax
cmp edi, 0xffff
ja 0x466c50
add ebp, ebp
mov edx, edi
mov ecx, dword [r14 + 0xb8]
mov eax, ebp
shr edx, 8
and eax, r12d
add eax, edx
add eax, r12d
lea r8, [rbx + rax*2]
mov eax, ecx
movzx edx, word [r8]
shr eax, 0xb
imul eax, edx
test dil, 0x80
je 0x466c8a
sub ecx, eax
mov r9d, eax
add qword [r14 + 0xc0], r9
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x466c93
lea ecx, [rdi + 1]
cmp eax, ecx
je 0x468a1b
ja 0x46638e
add eax, 1
cmp eax, edi
jb 0x466d3c
cmp edi, 2
je 0x466d3c
mov eax, r13d
shr eax, 7
cmp edx, eax
jb 0x46638e
mov rcx, qword [r14]
call qword [r14 + 0x18]
lea r11d, [rdi - 1]
movzx ebx, byte [rax - 1]
lea rcx, [r14 + 0x4c]
lea r10, [r14 + 0x5c]
lea r9d, [rdi - 4]
mov edx, dword [rcx]
not rdx
lea r8, [rax + rdx - 1]
cmp byte [r8], bl
je 0x466dac
add rcx, 4
cmp r10, rcx
jne 0x466d57
lea esi, [r13 + 4]
mov edx, edi
sub edx, 2
jne 0x466a73
mov eax, dword [r14 + 0x5c]
mov ebx, 2
mov edi, dword [rsp + 0x70]
and edi, dword [r14 + 0x70]
mov rdx, rax
shl rdx, 4
mov r12d, edi
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
jmp 0x465abc
movzx esi, byte [r8 + 1]
cmp byte [rax], sil
jne 0x466d66
cmp r11d, 2
jbe 0x468a09
movzx esi, byte [r8 + 2]
cmp byte [rax + 1], sil
jne 0x466d66
xor edx, edx
jmp 0x466de0
movzx esi, byte [rax + rdx + 2]
add rdx, 1
cmp sil, byte [r8 + rdx + 2]
jne 0x466d66
cmp rdx, r9
jne 0x466dd0
mov esi, 0xffffffff
mov ebx, 1
jmp 0x465d7a
lea rax, [rsp + 0x13c]
mov rcx, r14
mov rdx, rax
call fcn.00464410
mov ebx, eax
jmp 0x4668b9
mov edi, dword [rsp + 0x140]
lea ecx, [rdi + 1]
mov dword [rsp + 0x64], edi
sub r15, rcx
cmp ebx, 1
movzx edi, byte [r15]
setbe cl
cmp dil, byte [rsp + 0x38]
mov byte [rsp + 0x40], dil
setne r8b
and ecx, r8d
cmp r13d, 1
setbe r8b
test cl, r8b
jne 0x46638e
mov r8d, dword [rsp + 0x70]
mov edi, dword [r14 + 0x70]
mov r9d, dword [r14 + 0x5c]
mov r10d, dword [r14 + 0x60]
and edi, r8d
and r8d, dword [r14 + 0x6c]
mov dword [r14 + 0x814], r9d
movzx eax, byte [rax - 2]
mov r12d, edi
mov ecx, r10d
shl r8d, cl
mov ecx, 8
sub ecx, r10d
sar eax, cl
mov rcx, qword [r14 + 0x78]
add r8d, eax
lea eax, [r8 + r8*2]
shl eax, 8
lea rax, [rcx + rax*2]
mov qword [rsp + 0x48], rax
mov eax, r9d
mov rcx, rax
shl rcx, 4
add rcx, r12
lea rbp, [r14 + rcx*2]
movzx ecx, word [rbp + 0x33ee4]
mov esi, ecx
shr si, 4
mov r8, rsi
mov word [rsp + 0x68], si
and r8d, 0xfff
cmp r9d, 6
mov esi, dword [r14 + r8*4 + 0x32810]
mov dword [rsp + 0x50], esi
lea rsi, [r14 + 0x32810]
mov qword [rsp + 0xc0], rsi
ja 0x468989
movzx r11d, byte [rsp + 0x38]
xor r10d, r10d
or r11d, 0x100
mov rsi, qword [rsp + 0x48]
mov r8d, r11d
mov r9d, r11d
add r11d, r11d
shr r8d, 8
shl r9d, 0x18
sar r9d, 0x1f
and r9d, 0x7ff
movzx r8d, word [rsi + r8*2]
mov rsi, qword [rsp + 0xc0]
xor r8d, r9d
sar r8d, 4
movsxd r8, r8d
add r10d, dword [rsi + r8*4]
cmp r11d, 0xffff
jbe 0x466efa
add r10d, dword [rsp + 0x50]
lea r9, [r14 + rax*2]
mov dword [r14 + 0x85c], 0xffffffff
mov dword [r14 + 0x848], 0
movzx r8d, word [rsp + 0x68]
mov dword [r14 + 0x840], r10d
movzx esi, word [r9 + 0x34064]
xor r8d, 0x7f
and r8d, 0xfff
mov r15d, dword [r14 + r8*4 + 0x32810]
shr si, 4
mov word [rsp + 0x50], si
xor esi, 0x7f
mov r8d, esi
and r8d, 0xfff
mov esi, dword [r14 + r8*4 + 0x32810]
movzx r8d, byte [rsp + 0x38]
add esi, r15d
cmp byte [rsp + 0x40], r8b
mov dword [rsp + 0x48], esi
mov esi, 0xffffffff
je 0x468927
cmp r13d, ebx
cmovb r13d, ebx
cmp r13d, 1
mov dword [rsp + 0x68], r13d
jbe 0x465aae
mov eax, dword [rsp + 0x64]
mov ecx, r13d
mov dword [r14 + 0x858], 0
lea r8d, [r13 - 2]
mov dword [r14 + 0x830], eax
mov eax, dword [rsp + 0x144]
mov dword [r14 + 0x834], eax
mov eax, dword [rsp + 0x148]
mov dword [r14 + 0x838], eax
mov eax, dword [rsp + 0x14c]
mov dword [r14 + 0x83c], eax
lea rax, [rcx + rcx*2]
sub rcx, r8
lea rcx, [rcx + rcx*2]
shl rax, 4
lea rax, [r14 + rax + 0x810]
shl rcx, 4
lea rcx, [r14 + rcx + 0x7e0]
mov dword [rax], 0x40000000
sub rax, 0x30
cmp rcx, rax
jne 0x467041
mov r10, r12
mov rsi, rdx
xor r11d, r11d
shl r10, 4
mov edi, 2
add r10, r12
shl r10, 4
mov eax, dword [rsi]
cmp eax, 1
jbe 0x467138
test r11d, r11d
je 0x4672d4
movzx edx, word [r9 + 0x3407c]
shr dx, 4
xor edx, 0x7f
and edx, 0xfff
mov r8d, dword [r14 + rdx*4 + 0x32810]
movzx edx, word [r9 + 0x34094]
shr dx, 4
cmp r11d, 1
je 0x468914
xor edx, 0x7f
movzx ecx, word [r9 + 0x340ac]
and edx, 0xfff
add r8d, dword [r14 + rdx*4 + 0x32810]
mov edx, edi
sub edx, r11d
and edx, 0x7ff
xor edx, ecx
sar edx, 4
movsxd rdx, edx
add r8d, dword [r14 + rdx*4 + 0x32810]
add r8d, dword [rsp + 0x48]
lea edx, [rax - 2]
lea rax, [rax + rax*2]
shl rax, 4
lea rax, [r14 + rax + 0x810]
nop dword [rax]
mov ecx, edx
lea rcx, [rcx + r10 + 0xe464]
mov r13d, dword [r14 + rcx*4 + 8]
add r13d, r8d
cmp r13d, dword [rax]
jae 0x46712c
mov dword [rax], r13d
mov dword [rax + 0x18], 0
mov dword [rax + 0x1c], r11d
mov dword [rax + 8], 0
sub edx, 1
sub rax, 0x30
cmp edx, 0xffffffff
jne 0x467100
add r11d, 1
add rsi, 4
cmp r11d, 4
jne 0x467069
mov edx, dword [rsp + 0x150]
mov eax, 2
lea ecx, [rdx + 1]
cmp edx, 2
cmovae eax, ecx
cmp ebx, eax
jb 0x46730f
xor r10d, r10d
cmp dword [r14 + 0x32a10], eax
jae 0x468908
mov rdi, qword [rsp + 0x30]
lea ebx, [r10 + 2]
cmp eax, dword [rdi + rbx*4]
mov r10, rbx
ja 0x46717c
mov r9, rdi
mov rdx, qword [rsp + 0x50]
lea ebp, [r10 + 1]
mov r13d, 3
mov edi, dword [rsp + 0x13c]
and edx, 0xfff
mov esi, dword [r14 + rdx*4 + 0x32810]
mov rdx, r12
mov dword [rsp + 0x38], edi
shl rdx, 4
add r12, rdx
shl r12, 4
add esi, r15d
jmp 0x46722e
mov ecx, r8d
shl rdx, 7
lea rdx, [rcx + rdx + 0xcda8]
mov ecx, dword [r14 + rdx*4 + 4]
add ecx, r11d
mov edx, eax
lea rdx, [rdx + rdx*2]
shl rdx, 4
add rdx, r14
cmp dword [rdx + 0x810], ecx
jbe 0x467221
add r8d, 4
mov dword [rdx + 0x810], ecx
mov dword [rdx + 0x828], 0
mov dword [rdx + 0x82c], r8d
mov dword [rdx + 0x818], 0
cmp eax, dword [r9 + rbx*4]
je 0x4688ed
add eax, 1
mov edx, ebp
mov r8d, dword [r9 + rdx*4]
lea edx, [rax - 2]
lea rcx, [r12 + rdx + 0xd250]
mov r11d, dword [r14 + rcx*4 + 0x10]
add r11d, esi
cmp eax, 5
cmovae rdx, r13
cmp r8d, 0x7f
jbe 0x4671d0
cmp r8d, 0x80000
mov r15d, r8d
sbb edi, edi
and edi, 0xffffffe8
cmp r8d, 0x80000
sbb ecx, ecx
and r15d, 0xf
shl rdx, 6
and ecx, 0xfffffff4
add r11d, dword [r14 + r15*4 + 0x33ea4]
mov r15d, r8d
add ecx, 0x12
shr r15d, cl
mov ecx, r15d
movzx ecx, byte [r14 + rcx + 0x30810]
lea ecx, [rdi + rcx + 0x24]
lea rdx, [rcx + rdx + 0xcca8]
mov ecx, dword [r14 + rdx*4 + 4]
add ecx, r11d
jmp 0x4671e7
add dword [r14 + 0x48], edx
mov ebx, r13d
mov rcx, qword [r14]
call qword [r14 + 0x28]
jmp 0x465d7a
mov dword [rsp + 0x150], r9d
mov r13d, r8d
jmp 0x4667c6
movzx edx, word [rbp + 0x340c4]
movzx ecx, word [r9 + 0x3407c]
shr dx, 4
shr cx, 4
xor edx, 0x7f
and ecx, 0xfff
and edx, 0xfff
mov r8d, dword [r14 + rdx*4 + 0x32810]
add r8d, dword [r14 + rcx*4 + 0x32810]
jmp 0x4670e4
lea rax, [r14 + 0x840]
mov r13d, 1
mov dword [rsp + 0xdc], 0xffe
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x70]
mov ebx, r13d
mov dword [rsp + 0xd0], eax
lea rax, [rsp + 0x13c]
mov qword [rsp + 0x128], rax
mov rdx, rax
lea esi, [rbx - 1]
mov rcx, r14
call fcn.00464410
cmp eax, dword [r14 + 0x44]
mov dword [rsp + 0x64], eax
jae 0x4687e5
mov rdi, qword [rsp + 0xb8]
mov eax, dword [rsp + 0xd0]
mov r8d, dword [rdi + 8]
add eax, 1
mov ecx, dword [rdi + 0x18]
mov dword [rsp + 0xd8], eax
test r8d, r8d
je 0x468361
mov edx, dword [rdi + 0xc]
sub ecx, 1
test edx, edx
je 0x468604
mov eax, dword [rdi + 0x10]
lea rax, [rax + rax*2]
shl rax, 4
cmp dword [rdi + 0x14], 3
mov eax, dword [r14 + rax + 0x814]
ja 0x46853a
lea rdi, str._b_b_b_b_b_b_b_v_v_v_v_v
mov eax, dword [rdi + rax*4]
lea rdi, [0x0080f0a0]
cmp ecx, esi
mov eax, dword [rdi + rax*4]
mov edx, eax
jne 0x46846c
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x46852e
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v
mov esi, dword [rax + rdx*4]
mov r15d, dword [rsp + 0x140]
mov ecx, dword [rsp + 0x144]
mov edx, dword [rsp + 0x148]
mov eax, dword [rsp + 0x14c]
mov rdi, qword [rsp + 0xb8]
mov dword [rdi + 0x24], ecx
mov ebp, dword [rdi]
mov dword [rdi + 0x28], edx
mov rcx, qword [r14]
mov dword [rdi + 4], esi
mov dword [rdi + 0x20], r15d
mov dword [rdi + 0x2c], eax
call qword [r14 + 0x18]
mov r10d, dword [rsp + 0xd8]
lea r12, [rax - 1]
mov r11, rax
mov qword [rsp + 0x38], rax
movzx edi, byte [rax - 1]
lea eax, [r15 + 1]
mov rdx, r12
sub rdx, rax
mov eax, dword [r14 + 0x70]
movzx r13d, byte [rdx]
mov edx, r10d
mov ecx, eax
mov dword [rsp + 0x6c], eax
mov eax, esi
and edx, ecx
mov qword [rsp + 0xa8], rax
shl rax, 4
add rax, rdx
mov qword [rsp + 0xa0], rdx
lea rax, [r14 + rax*2]
mov qword [rsp + 0x80], rax
movzx eax, word [rax + 0x33ee4]
shr ax, 4
mov word [rsp + 0x40], ax
and eax, 0xfff
mov edx, dword [r14 + rax*4 + 0x32810]
mov rax, qword [r14 + 0x78]
add edx, ebp
mov r8, rax
mov qword [rsp + 0xb0], rax
mov eax, dword [r14 + 0x6c]
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x8c], eax
mov eax, dword [r14 + 0x60]
mov ecx, eax
mov dword [rsp + 0xec], eax
mov eax, 8
mov edx, eax
mov eax, dword [rsp + 0x8c]
sub edx, ecx
mov r9d, edx
mov dword [rsp + 0x100], edx
and eax, r10d
shl eax, cl
mov ecx, r9d
mov edx, eax
movzx eax, byte [r11 - 2]
sar eax, cl
add eax, edx
lea eax, [rax + rax*2]
shl eax, 8
cmp esi, 6
lea r9, [r8 + rax*2]
ja 0x468406
mov rdx, qword [rsp + 0xc0]
movzx ecx, dil
xor r8d, r8d
or ch, 1
mov eax, ecx
mov r10d, ecx
add ecx, ecx
shr eax, 8
shl r10d, 0x18
movzx eax, word [r9 + rax*2]
sar r10d, 0x1f
and r10d, 0x7ff
xor eax, r10d
sar eax, 4
cdqe
add r8d, dword [rdx + rax*4]
cmp ecx, 0xffff
jbe 0x46752c
lea eax, [rbx + 1]
mov esi, dword [rsp + 0x48]
mov edx, 1
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0xb8]
add esi, r8d
cmp esi, dword [rax + 0x30]
jae 0x467597
mov dword [rax + 0x30], esi
xor edx, edx
mov dword [rax + 0x48], ebx
mov dword [rax + 0x4c], 0xffffffff
mov dword [rax + 0x38], 0
movzx eax, word [rsp + 0x40]
xor eax, 0x7f
and eax, 0xfff
add ebp, dword [r14 + rax*4 + 0x32810]
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x104], ebp
lea rax, [r14 + rax*2]
mov qword [rsp + 0x50], rax
movzx eax, word [rax + 0x34064]
mov word [rsp + 0x40], ax
shr ax, 4
mov word [rsp + 0xf0], ax
xor eax, 0x7f
and eax, 0xfff
add ebp, dword [r14 + rax*4 + 0x32810]
cmp dil, r13b
mov dword [rsp + 0x90], ebp
je 0x468549
mov eax, dword [r14 + 0x40]
mov edi, dword [rsp + 0xdc]
cmp eax, edi
cmova eax, edi
cmp eax, 1
mov dword [rsp + 0x74], eax
jbe 0x467e49
mov edi, dword [r14 + 0x44]
cmp eax, edi
mov ecx, edi
mov r11d, edi
mov dword [rsp + 0x94], edi
cmovbe ecx, eax
test dl, dl
mov edi, eax
mov dword [rsp + 0x40], ecx
je 0x467806
lea eax, [r11 + 1]
mov edx, r15d
cmp edi, eax
mov r9d, eax
mov r10, rdx
cmovbe r9d, edi
not r10
cmp r9d, 1
jbe 0x467806
mov rdi, qword [rsp + 0x38]
mov rax, r12
sub rax, rdx
movzx eax, byte [rax]
cmp byte [rdi], al
jne 0x467806
lea rdx, [rdi + 1]
mov r8d, 1
jmp 0x46768f
movzx eax, byte [rdx]
add rdx, 1
cmp al, byte [rdx + r10 - 1]
jne 0x467698
mov r8d, ecx
lea ecx, [r8 + 1]
cmp ecx, r9d
jne 0x46767e
cmp r8d, 1
je 0x467806
mov eax, dword [rsp + 0xd0]
lea r13d, [rcx + rbx]
mov rdi, qword [rsp + 0xa8]
mov r11d, dword [rsp + 0x68]
lea edx, [rax + 2]
lea rax, [0x0080f0a0]
mov r9d, dword [rax + rdi*4]
mov edi, edx
and edi, dword [rsp + 0x6c]
mov rax, r9
lea r9, [r14 + r9*2]
shl rax, 4
add rax, rdi
lea r10, [r14 + rax*2]
movzx eax, word [r10 + 0x33ee4]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
mov ebp, dword [r14 + rax*4 + 0x32810]
movzx eax, word [r9 + 0x34064]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
cmp r13d, r11d
mov r15d, dword [r14 + rax*4 + 0x32810]
jbe 0x467764
lea edx, [r11 + 1]
not r11d
lea ecx, [r11 + r13]
lea rax, [rdx + rdx*2]
add rdx, rcx
lea rdx, [rdx + rdx*2]
shl rax, 4
lea rax, [r14 + rax + 0x810]
shl rdx, 4
lea rdx, [r14 + rdx + 0x840]
nop dword [rax + rax]
mov dword [rax], 0x40000000
add rax, 0x30
cmp rdx, rax
jne 0x467750
mov dword [rsp + 0x68], r13d
movzx eax, word [r9 + 0x3407c]
lea edx, [rbp + r15]
mov ecx, r13d
shr ax, 4
and eax, 0xfff
add edx, dword [r14 + rax*4 + 0x32810]
movzx eax, word [r10 + 0x340c4]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
add edx, dword [r14 + rax*4 + 0x32810]
mov rax, rdi
shl rax, 4
add rax, rdi
shl rax, 4
add esi, edx
lea edx, [r8 - 2]
lea rax, [rdx + rax + 0xe464]
add esi, dword [r14 + rax*4 + 8]
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, r14
cmp esi, dword [rax + 0x810]
jae 0x467806
mov edi, dword [rsp + 0xd4]
mov dword [rax + 0x810], esi
mov dword [rax + 0x82c], 0
mov dword [rax + 0x818], 1
mov dword [rax + 0x81c], 0
mov dword [rax + 0x828], edi
mov rdi, qword [rsp + 0xa0]
lea r9d, [rbx + 2]
mov r13d, 2
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x88], r13d
mov r13, qword [rsp + 0x50]
mov rax, rdi
shl rax, 4
add rax, rdi
shl rax, 4
mov r15, rax
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0xe0]
mov edi, eax
mov r11d, dword [rsi + rax*4]
mov rax, qword [rsp + 0x38]
not r11
add r11, r12
movzx esi, byte [r11]
cmp byte [rax - 1], sil
je 0x467e8a
add qword [rsp + 0x48], 1
mov rax, qword [rsp + 0x48]
cmp rax, 4
jne 0x467844
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x64], eax
mov r13d, dword [rsp + 0x88]
jbe 0x4678c3
cmp eax, dword [r14 + 0x32a10]
jbe 0x4687d2
mov eax, 2
mov rdi, qword [rsp + 0x30]
mov edx, eax
add eax, 2
lea rdx, [rdi + rdx*4]
mov edi, dword [rsp + 0x40]
cmp dword [rdx], edi
jb 0x4678a0
mov dword [rdx], edi
mov dword [rsp + 0x13c], eax
mov dword [rsp + 0x64], edi
mov edi, dword [rsp + 0x64]
cmp edi, r13d
jb 0x467e49
mov rax, qword [rsp + 0xf0]
mov r11d, dword [rsp + 0x68]
mov esi, dword [rsp + 0x104]
and eax, 0xfff
add esi, dword [r14 + rax*4 + 0x32810]
mov eax, edi
add eax, ebx
mov r9d, eax
cmp r11d, r9d
mov dword [rsp + 0x38], esi
jae 0x4687ca
lea edx, [r11 + 1]
not r11d
lea ecx, [r11 + r9]
lea rax, [rdx + rdx*2]
add rdx, rcx
lea rdx, [rdx + rdx*2]
shl rax, 4
lea rax, [r14 + rax + 0x810]
shl rdx, 4
lea rdx, [r14 + rdx + 0x840]
mov dword [rax], 0x40000000
add rax, 0x30
cmp rdx, rax
jne 0x467933
cmp r13d, dword [r14 + 0x32a10]
jbe 0x468799
xor eax, eax
mov rdi, qword [rsp + 0x30]
jmp 0x46795a
mov eax, edx
lea r8d, [rax + 2]
cmp dword [rdi + r8*4], r13d
mov rdx, r8
jb 0x467958
add eax, 3
mov dword [rsp + 0x64], r8d
shl rax, 2
mov ebp, dword [rdi + rax]
lea esi, [r13 + 1]
mov dword [rsp + 0x68], r9d
mov rdi, qword [rsp + 0xa0]
cmp ebp, 0x80000
mov edx, ebp
sbb eax, eax
and eax, 0xffffffe8
cmp ebp, 0x80000
sbb ecx, ecx
and ecx, 0xfffffff4
add ecx, 0x12
shr edx, cl
movzx edx, byte [r14 + rdx + 0x30810]
lea eax, [rax + rdx + 0x24]
mov edx, ebp
mov dword [rsp + 0x48], eax
mov eax, dword [r14 + 0x44]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x94], eax
mov rax, rdi
shl rax, 4
add rax, rdi
mov rdi, qword [rsp + 0xc0]
shl rax, 4
mov qword [rsp + 0x40], rax
mov rax, rdx
jmp 0x467a4b
shl rcx, 7
lea rdx, [rcx + rax + 0xcda8]
add r10d, dword [r14 + rdx*4 + 4]
lea edx, [rbx + r13]
lea rcx, [rdx + rdx*2]
shl rcx, 4
add rcx, r14
cmp dword [rcx + 0x810], r10d
jbe 0x467a39
lea edx, [rbp + 4]
mov dword [rcx + 0x828], ebx
mov dword [rcx + 0x810], r10d
mov dword [rcx + 0x82c], edx
mov dword [rcx + 0x818], 0
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + r8*4], r13d
je 0x467aa2
add r13d, 1
add esi, 1
mov rdx, qword [rsp + 0x40]
lea ecx, [rsi - 3]
mov r10d, dword [rsp + 0x38]
lea rdx, [rdx + rcx + 0xd250]
add r10d, dword [r14 + rdx*4 + 0x10]
cmp r13d, 5
mov edx, 3
cmovae rcx, rdx
cmp ebp, 0x7f
jbe 0x4679f0
mov edx, ebp
shl rcx, 6
and edx, 0xf
add r10d, dword [r14 + rdx*4 + 0x33ea4]
mov edx, dword [rsp + 0x48]
lea rdx, [rdx + rcx + 0xcca8]
add r10d, dword [r14 + rdx*4 + 4]
jmp 0x467a01
mov ecx, dword [rsp + 0x90]
not rax
add rax, r12
lea r8d, [rsi + rcx]
mov ecx, dword [rsp + 0x74]
cmp r8d, ecx
cmova r8d, ecx
cmp r8d, esi
jbe 0x467e42
mov edx, esi
movzx ecx, byte [r12 + rdx]
cmp byte [rax + rdx], cl
mov edx, esi
je 0x467aed
jmp 0x467af5
mov ecx, edx
movzx r15d, byte [rax + rcx]
cmp byte [r12 + rcx], r15b
jne 0x467af5
add edx, 1
cmp edx, r8d
jb 0x467ae0
sub edx, r13d
lea ecx, [rdx - 1]
mov dword [rsp + 0x50], edx
cmp ecx, 1
mov dword [rsp + 0x6c], ecx
jbe 0x467ddb
mov edx, dword [rsp + 0xd0]
mov dword [rsp + 0xa0], ebx
mov ecx, dword [r14 + 0x70]
mov r11, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
add edx, esi
mov dword [rsp + 0x88], ecx
and ecx, edx
and edx, dword [r14 + 0x6c]
mov r8d, ecx
mov dword [rsp + 0x80], ecx
lea rcx, str._a_a_a_a_a_a_a_n_n_n_n_n
mov ecx, dword [rcx + r11*4]
mov r11d, dword [r14 + 0x60]
mov qword [rsp + 0x98], rcx
shl rcx, 4
lea rcx, [r8 + rcx + 0x19f70]
mov r8d, r13d
movzx ecx, word [r14 + rcx*2 + 4]
movzx r9d, byte [rax + r8]
lea eax, [rsi - 2]
movzx eax, byte [r12 + rax]
shr cx, 4
and ecx, 0xfff
mov ecx, dword [r14 + rcx*4 + 0x32810]
mov dword [rsp + 0x8c], ecx
mov ecx, 8
sub ecx, r11d
sar eax, cl
mov ecx, r11d
xor r11d, r11d
shl edx, cl
movzx ecx, byte [r12 + r8]
mov r8d, 0x100
add eax, edx
lea r15d, [rax + rax*2]
shl r15d, 8
add r15, r15
or ch, 1
nop word cs:[rax + rax]
add r9d, r9d
mov edx, ecx
mov eax, r9d
shr edx, 8
and eax, r8d
add eax, edx
mov edx, ecx
add ecx, ecx
add eax, r8d
shl edx, 0x18
lea rax, [rbx + rax*2]
sar edx, 0x1f
movzx eax, word [rax + r15]
and edx, 0x7ff
xor eax, edx
sar eax, 4
cdqe
mov edx, dword [rdi + rax*4]
mov eax, r9d
xor eax, ecx
not eax
and r8d, eax
add edx, r11d
cmp ecx, 0xffff
mov r11d, edx
jbe 0x467bd0
mov r11, qword [rsp + 0x98]
lea rax, [0x0080f0a0]
mov ecx, dword [rsp + 0x80]
mov ebx, dword [rsp + 0xa0]
mov r15d, dword [rsp + 0x6c]
mov eax, dword [rax + r11*4]
add ecx, 1
mov r11d, ecx
and r11d, dword [rsp + 0x88]
lea r9, [r14 + rax*2]
mov r8, rax
shl r8, 4
movzx eax, word [r9 + 0x34064]
add r8, r11
mov qword [rsp + 0x98], r11
lea r8, [r14 + r8*2]
movzx ecx, word [r8 + 0x33ee4]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
shr cx, 4
mov eax, dword [r14 + rax*4 + 0x32810]
xor ecx, 0x7f
and ecx, 0xfff
mov ecx, dword [r14 + rcx*4 + 0x32810]
mov dword [rsp + 0x80], eax
lea eax, [rbx + rsi]
add r15d, eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x88], ecx
mov ecx, dword [rsp + 0x68]
cmp r15d, ecx
jbe 0x467d11
lea r11d, [rcx + 1]
not ecx
lea rax, [r11 + r11*2]
add ecx, r15d
add rcx, r11
shl rax, 4
lea rcx, [rcx + rcx*2]
lea rax, [r14 + rax + 0x810]
shl rcx, 4
lea rcx, [r14 + rcx + 0x840]
mov dword [rax], 0x40000000
add rax, 0x30
cmp rax, rcx
jne 0x467cf5
mov r11, qword [rsp + 0x98]
mov dword [rsp + 0x68], r15d
movzx eax, word [r9 + 0x3407c]
mov ecx, dword [rsp + 0x80]
shr ax, 4
and eax, 0xfff
add ecx, dword [r14 + rax*4 + 0x32810]
mov eax, dword [rsp + 0x8c]
add eax, ecx
movzx ecx, word [r8 + 0x340c4]
add eax, dword [rsp + 0x88]
shr cx, 4
xor ecx, 0x7f
and ecx, 0xfff
add eax, dword [r14 + rcx*4 + 0x32810]
add r10d, eax
mov eax, dword [rsp + 0x50]
lea ecx, [rax - 3]
mov rax, r11
shl rax, 4
add rax, r11
shl rax, 4
lea rax, [rcx + rax + 0xe464]
add r10d, dword [r14 + rax*4 + 8]
lea rax, [r15 + r15*2]
shl rax, 4
add rax, r14
add r10d, edx
cmp r10d, dword [rax + 0x810]
jae 0x467ddb
mov edx, dword [rsp + 0xa0]
add ebp, 4
mov dword [rax + 0x810], r10d
mov dword [rax + 0x82c], 0
mov dword [rax + 0x818], 1
mov dword [rax + 0x81c], 1
mov dword [rax + 0x828], edx
mov dword [rax + 0x820], ebx
mov dword [rax + 0x824], ebp
mov ecx, dword [rsp + 0x64]
mov eax, ecx
add eax, 2
cmp eax, dword [rsp + 0x94]
je 0x467e49
lea edx, [rcx + 3]
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x64], eax
mov r8d, eax
mov ebp, dword [rcx + rdx*4]
cmp ebp, 0x7f
mov eax, ebp
jbe 0x467a44
cmp ebp, 0x80000
mov r9d, ebp
sbb edx, edx
and edx, 0xffffffe8
cmp ebp, 0x80000
sbb ecx, ecx
and ecx, 0xfffffff4
add ecx, 0x12
shr r9d, cl
mov ecx, r9d
movzx ecx, byte [r14 + rcx + 0x30810]
lea edx, [rdx + rcx + 0x24]
mov dword [rsp + 0x48], edx
jmp 0x467a44
mov edx, esi
jmp 0x467af5
mov eax, dword [rsp + 0xd4]
mov edi, dword [rsp + 0x68]
sub dword [rsp + 0xdc], 1
add qword [rsp + 0xb8], 0x30
mov ebx, eax
cmp eax, edi
je 0x4686ac
mov eax, dword [rsp + 0xd8]
mov rdx, qword [rsp + 0x128]
mov dword [rsp + 0xd0], eax
jmp 0x467350
movzx esi, byte [r11 + 1]
cmp byte [rax], sil
jne 0x46786b
cmp dword [rsp + 0x40], 2
jbe 0x46868f
movzx eax, byte [rax + 1]
cmp byte [r11 + 2], al
jne 0x46868f
xor eax, eax
mov r10d, 2
jmp 0x467ed8
mov rsi, qword [rsp + 0x38]
movzx edx, byte [rsi + rax + 2]
add rax, 1
cmp dl, byte [r11 + rax + 2]
jne 0x467ee2
mov r10d, ebp
lea ebp, [r10 + 1]
cmp ebp, dword [rsp + 0x40]
jne 0x467ec0
lea eax, [r10 - 1]
lea esi, [r10 + 2]
mov dword [rsp + 0x50], eax
lea eax, [rbx + rbp]
mov r8d, eax
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x68]
cmp r8d, eax
jbe 0x467f4b
lea ecx, [rax + 1]
mov edx, eax
lea rax, [rcx + rcx*2]
not edx
add edx, r8d
shl rax, 4
lea rax, [r14 + rax + 0x810]
add rdx, rcx
lea rdx, [rdx + rdx*2]
shl rdx, 4
lea rdx, [r14 + rdx + 0x840]
mov dword [rax], 0x40000000
add rax, 0x30
cmp rdx, rax
jne 0x467f31
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x68], eax
movzx eax, word [r13 + 0x3407c]
shr ax, 4
cmp qword [rsp + 0x48], 0
je 0x46864e
xor eax, 0x7f
and eax, 0xfff
mov edx, dword [r14 + rax*4 + 0x32810]
movzx eax, word [r13 + 0x34094]
shr ax, 4
cmp edi, 1
je 0x46863c
xor eax, 0x7f
and eax, 0xfff
add edx, dword [r14 + rax*4 + 0x32810]
mov eax, 2
sub eax, edi
and eax, 0x7ff
mov r8d, edx
movzx edx, word [r13 + 0x340ac]
xor eax, edx
sar eax, 4
cdqe
mov edx, dword [r14 + rax*4 + 0x32810]
add edx, r8d
mov eax, dword [rsp + 0x90]
lea r8d, [rax + rdx]
lea edx, [rbp - 2]
nop
mov eax, edx
lea rax, [rax + r15 + 0xe464]
mov ecx, dword [r14 + rax*4 + 8]
lea eax, [r9 + rdx]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
add ecx, r8d
cmp ecx, dword [rax + 0x810]
jae 0x468015
mov dword [rax + 0x810], ecx
mov dword [rax + 0x828], ebx
mov dword [rax + 0x82c], edi
mov dword [rax + 0x818], 0
sub edx, 1
cmp edx, 0xffffffff
jne 0x467fd0
cmp qword [rsp + 0x48], 0
mov eax, dword [rsp + 0x88]
mov edx, dword [rsp + 0x74]
cmove eax, esi
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x94]
add eax, esi
cmp eax, edx
cmova eax, edx
cmp eax, esi
mov ecx, eax
jbe 0x46807b
mov eax, esi
movzx edx, byte [r12 + rax]
cmp byte [r11 + rax], dl
jne 0x46807b
lea eax, [rsi + 1]
jmp 0x468075
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx + rax - 1]
add rax, 1
cmp dl, byte [r11 + rax - 1]
jne 0x46807b
cmp eax, ecx
mov esi, eax
jb 0x468060
sub esi, ebp
lea eax, [rsi - 1]
mov dword [rsp + 0x108], esi
cmp eax, 1
mov dword [rsp + 0x10c], eax
jbe 0x46786b
mov eax, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x6c]
movzx r11d, byte [r11 + rbp]
lea esi, [rax + rbp]
mov eax, dword [rsp + 0x50]
and edx, esi
lea rax, [rax + r15 + 0xe464]
mov eax, dword [r14 + rax*4 + 8]
mov dword [rsp + 0x50], eax
lea rax, str._b_b_b_b_b_b_b_v_v_v_v_v
mov eax, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x100]
mov qword [rsp + 0x118], rax
shl rax, 4
lea rax, [rdx + rax + 0x19f70]
movzx eax, word [r14 + rax*2 + 4]
shr ax, 4
and eax, 0xfff
mov eax, dword [r14 + rax*4 + 0x32810]
mov dword [rsp + 0x120], eax
movzx eax, byte [r12 + r10]
mov r10d, 0x100
sar eax, cl
movzx ecx, byte [rsp + 0xec]
mov edx, eax
mov eax, dword [rsp + 0x8c]
and eax, esi
shl eax, cl
movzx ecx, byte [r12 + rbp]
xor ebp, ebp
add eax, edx
lea eax, [rax + rax*2]
shl eax, 8
add rax, rax
or ch, 1
mov qword [rsp + 0x110], rax
add r11d, r11d
mov edx, ecx
mov eax, r11d
shr edx, 8
and eax, r10d
add eax, edx
mov rdx, qword [rsp + 0xb0]
add eax, r10d
lea rax, [rdx + rax*2]
mov rdx, qword [rsp + 0x110]
movzx eax, word [rax + rdx]
mov edx, ecx
add ecx, ecx
shl edx, 0x18
sar edx, 0x1f
and edx, 0x7ff
xor eax, edx
mov rdx, qword [rsp + 0xc0]
sar eax, 4
cdqe
add ebp, dword [rdx + rax*4]
mov eax, r11d
xor eax, ecx
not eax
and r10d, eax
cmp ecx, 0xffff
mov dword [rsp + 0x124], ebp
jbe 0x46814c
lea rax, [0x0080f0a0]
mov rdx, qword [rsp + 0x118]
add esi, 1
mov ebp, esi
and ebp, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
mov edx, dword [rax + rdx*4]
lea r11, [r14 + rdx*2]
mov rax, rdx
mov edx, dword [rsp + 0x10c]
shl rax, 4
add rax, rbp
lea r10, [r14 + rax*2]
movzx eax, word [r10 + 0x33ee4]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
mov eax, dword [r14 + rax*4 + 0x32810]
mov dword [rsp + 0x110], eax
movzx eax, word [r11 + 0x34064]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
mov eax, dword [r14 + rax*4 + 0x32810]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x98]
add eax, 1
add edx, eax
mov dword [rsp + 0x98], eax
cmp edx, ecx
jbe 0x468284
lea esi, [rcx + 1]
not ecx
lea rax, [rsi + rsi*2]
add ecx, edx
add rcx, rsi
shl rax, 4
lea rcx, [rcx + rcx*2]
lea rax, [r14 + rax + 0x810]
shl rcx, 4
lea rcx, [r14 + rcx + 0x840]
mov dword [rax], 0x40000000
add rax, 0x30
cmp rcx, rax
jne 0x468271
mov dword [rsp + 0x68], edx
movzx eax, word [r11 + 0x3407c]
mov esi, dword [rsp + 0x118]
mov ecx, dword [rsp + 0x110]
shr ax, 4
and eax, 0xfff
add esi, dword [r14 + rax*4 + 0x32810]
mov eax, dword [rsp + 0x50]
add eax, esi
add eax, dword [rsp + 0x120]
add ecx, eax
movzx eax, word [r10 + 0x340c4]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
add ecx, dword [r14 + rax*4 + 0x32810]
mov eax, dword [rsp + 0x108]
add r8d, ecx
lea ecx, [rax - 3]
mov rax, rbp
shl rax, 4
add rax, rbp
shl rax, 4
lea rax, [rcx + rax + 0xe464]
add r8d, dword [r14 + rax*4 + 8]
lea rax, [rdx + rdx*2]
shl rax, 4
add r8d, dword [rsp + 0x124]
add rax, r14
cmp r8d, dword [rax + 0x810]
jae 0x46786b
mov esi, dword [rsp + 0x98]
mov dword [rax + 0x820], ebx
mov dword [rax + 0x810], r8d
mov dword [rax + 0x82c], 0
mov dword [rax + 0x818], 1
mov dword [rax + 0x828], esi
mov dword [rax + 0x81c], 1
mov dword [rax + 0x824], edi
jmp 0x46786b
mov eax, ecx
lea rdx, [rax + rax*2]
shl rdx, 4
cmp ecx, esi
mov edx, dword [r14 + rdx + 0x814]
je 0x4673db
mov rdi, qword [rsp + 0xb8]
mov r8d, dword [rdi + 0x1c]
cmp r8d, 3
ja 0x4684f1
lea rdi, str._b_b_b_b_b_b_b_v_v_v_v_v
mov esi, dword [rdi + rdx*4]
lea rax, [rax + rax*2]
mov edx, r8d
lea rdx, [rdx + rax*4 + 0x20c]
shl rax, 4
mov r15d, dword [r14 + rdx*4]
add rax, r14
test r8d, r8d
mov dword [rsp + 0x140], r15d
je 0x4684c5
mov ecx, dword [rax + 0x830]
cmp r8d, 1
mov dword [rsp + 0x144], ecx
je 0x46850f
mov edx, dword [rax + 0x834]
cmp r8d, 3
mov dword [rsp + 0x148], edx
jne 0x4684fd
mov eax, dword [rax + 0x838]
mov dword [rsp + 0x14c], eax
jmp 0x467415
mov rsi, qword [rsp + 0xc0]
movzx ecx, dil
movzx r11d, r13b
xor r8d, r8d
or ch, 1
mov r10d, 0x100
add r11d, r11d
mov edx, ecx
mov eax, r11d
shr edx, 8
and eax, r10d
add eax, edx
mov edx, ecx
add ecx, ecx
add eax, r10d
shl edx, 0x18
movzx eax, word [r9 + rax*2]
sar edx, 0x1f
and edx, 0x7ff
xor eax, edx
sar eax, 4
cdqe
add r8d, dword [rsi + rax*4]
mov eax, r11d
xor eax, ecx
not eax
and r10d, eax
cmp ecx, 0xffff
jbe 0x468422
jmp 0x46755e
mov rdi, qword [rsp + 0xb8]
lea rsi, str._b_b_b_b_b_b_b_v_v_v_v_v
mov esi, dword [rsi + rax*4]
mov r8d, dword [rdi + 0x14]
mov eax, dword [rdi + 0x10]
cmp r8d, 3
jbe 0x46839b
lea rax, [rax + rax*2]
lea r15d, [r8 - 4]
shl rax, 4
add rax, r14
mov dword [rsp + 0x140], r15d
mov ecx, dword [rax + 0x830]
mov edx, dword [rax + 0x834]
mov dword [rsp + 0x144], ecx
mov dword [rsp + 0x148], edx
jmp 0x4683f4
mov ecx, dword [rax + 0x834]
mov edx, dword [rax + 0x838]
mov eax, dword [rax + 0x83c]
mov dword [rsp + 0x144], ecx
mov dword [rsp + 0x148], edx
mov dword [rsp + 0x14c], eax
jmp 0x467415
lea rdi, str._a_a_a_a_a_a_a_n_n_n_n_n
mov esi, dword [rdi + rdx*4]
jmp 0x46848f
mov eax, dword [rax + 0x83c]
mov dword [rsp + 0x14c], eax
jmp 0x467415
mov edx, dword [rax + 0x838]
mov eax, dword [rax + 0x83c]
mov dword [rsp + 0x148], edx
mov dword [rsp + 0x14c], eax
jmp 0x467415
lea rax, [0x0080f0a0]
jmp 0x4673f5
lea rdi, str._a_a_a_a_a_a_a_n_n_n_n_n
mov eax, dword [rdi + rax*4]
jmp 0x4673c7
mov rax, qword [rsp + 0xb8]
cmp dword [rax + 0x48], ebx
jae 0x46855f
mov r15d, dword [rax + 0x4c]
test r15d, r15d
je 0x4685cc
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xb8]
movzx eax, word [rax + 0x3407c]
mov edx, eax
mov rax, qword [rsp + 0x80]
shr dx, 4
and edx, 0xfff
movzx eax, word [rax + 0x340c4]
mov word [rsp + 0x40], ax
shr ax, 4
and eax, 0xfff
mov eax, dword [r14 + rax*4 + 0x32810]
add eax, dword [r14 + rdx*4 + 0x32810]
add eax, dword [rsp + 0x90]
cmp eax, dword [rdi + 0x30]
ja 0x4685cc
mov dword [rdi + 0x30], eax
mov dword [rdi + 0x48], ebx
mov dword [rdi + 0x4c], 0
mov dword [rdi + 0x38], 0
mov eax, dword [r14 + 0x40]
mov esi, dword [rsp + 0xdc]
cmp eax, esi
cmova eax, esi
cmp eax, 1
mov dword [rsp + 0x74], eax
jbe 0x467e49
mov edi, eax
mov eax, dword [r14 + 0x44]
cmp edi, eax
mov dword [rsp + 0x94], eax
cmovbe eax, edi
mov dword [rsp + 0x40], eax
jmp 0x467806
lea rdi, [0x0080f0a0]
mov eax, ecx
lea rdx, [rax + rax*2]
shl rdx, 4
cmp ecx, esi
mov edx, dword [r14 + rdx + 0x814]
mov edx, dword [rdi + rdx*4]
jne 0x46837b
jmp 0x4673db
xor edx, edx
mov rcx, r14
call fcn.004647d0
jmp 0x465d37
and eax, 0xfff
add edx, dword [r14 + rax*4 + 0x32810]
jmp 0x467fc1
mov rcx, rax
mov rax, qword [rsp + 0x80]
and ecx, 0xfff
movzx eax, word [rax + 0x340c4]
mov word [rsp + 0x108], ax
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
mov edx, dword [r14 + rax*4 + 0x32810]
add edx, dword [r14 + rcx*4 + 0x32810]
jmp 0x467fc1
mov r10d, 1
mov esi, 3
mov ebp, 2
mov dword [rsp + 0x50], 0
jmp 0x467eee
mov edx, eax
mov r10d, ebx
lea rax, [rdx + rdx*2]
shl rax, 4
add rax, r14
mov ecx, dword [rax + 0x828]
mov r8d, dword [rax + 0x82c]
mov dword [r14 + 0x30], ebx
jmp 0x46876a
lea rdx, [r11 + r11*2]
lea eax, [rcx - 1]
shl rdx, 4
add rdx, r14
mov dword [rdx + 0x82c], 0xffffffff
mov dword [rdx + 0x818], 0
mov dword [rdx + 0x828], eax
mov esi, dword [r9 + 0x81c]
test esi, esi
je 0x46873b
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
mov dword [rax + 0x818], 0
mov ebx, dword [r9 + 0x820]
mov dword [rax + 0x828], ebx
mov r9d, dword [r9 + 0x824]
mov dword [rax + 0x82c], r9d
mov eax, dword [rdx + 0x828]
lea rdx, [r11 + r11*2]
shl rdx, 4
add rdx, r14
test ecx, ecx
mov r9d, dword [rdx + 0x82c]
mov dword [rdx + 0x828], r10d
mov r10d, ecx
mov dword [rdx + 0x82c], r8d
je 0x4687b3
mov r8d, r9d
mov ecx, eax
mov edx, r10d
lea r9, [rdx + rdx*2]
mov r11d, ecx
shl r9, 4
add r9, r14
mov edi, dword [r9 + 0x818]
test edi, edi
jne 0x4686d2
lea rax, [r11 + r11*2]
shl rax, 4
mov eax, dword [r14 + rax + 0x828]
jmp 0x46873b
mov eax, 4
mov dword [rsp + 0x64], 0
xor r8d, r8d
mov rdi, qword [rsp + 0x30]
jmp 0x467973
mov ebx, dword [r14 + 0x828]
mov esi, dword [r14 + 0x82c]
mov dword [r14 + 0x34], ebx
jmp 0x465d7a
mov r9d, r11d
jmp 0x467942
mov rdx, qword [rsp + 0x30]
mov eax, 2
mov edi, dword [rsp + 0x40]
jmp 0x4678b6
mov eax, dword [rsp + 0x13c]
mov edx, ebx
mov r13, rdx
mov dword [r14 + 0x3c], eax
mov eax, dword [rsp + 0x64]
mov dword [r14 + 0x38], eax
lea rax, [rdx + rdx*2]
shl rax, 4
add rax, r14
mov ecx, dword [rax + 0x828]
mov r8d, dword [rax + 0x82c]
mov dword [r14 + 0x30], edx
jmp 0x4688be
lea rdx, [r10 + r10*2]
lea eax, [rcx - 1]
shl rdx, 4
add rdx, r14
mov dword [rdx + 0x82c], 0xffffffff
mov dword [rdx + 0x818], 0
mov dword [rdx + 0x828], eax
mov r11d, dword [r9 + 0x81c]
test r11d, r11d
je 0x46888b
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
mov dword [rax + 0x818], 0
mov r11d, dword [r9 + 0x820]
mov dword [rax + 0x828], r11d
mov r9d, dword [r9 + 0x824]
mov dword [rax + 0x82c], r9d
mov eax, dword [rdx + 0x828]
lea rdx, [r10 + r10*2]
shl rdx, 4
add rdx, r14
test ecx, ecx
mov r9d, dword [rdx + 0x82c]
mov dword [rdx + 0x828], r13d
mov r13d, ecx
mov dword [rdx + 0x82c], r8d
je 0x4687b3
mov r8d, r9d
mov ecx, eax
mov edx, r13d
lea r9, [rdx + rdx*2]
mov r10d, ecx
shl r9, 4
add r9, r14
mov ebx, dword [r9 + 0x818]
test ebx, ebx
jne 0x468820
lea rax, [r10 + r10*2]
shl rax, 4
mov eax, dword [r14 + rax + 0x828]
jmp 0x46888b
add r10d, 2
cmp r10d, dword [rsp + 0x38]
je 0x46730f
lea ebp, [r10 + 1]
mov ebx, r10d
jmp 0x46722b
xor ebx, ebx
mov r9, qword [rsp + 0x30]
jmp 0x46718b
and edx, 0xfff
add r8d, dword [r14 + rdx*4 + 0x32810]
jmp 0x4670e4
movzx r8d, word [r9 + 0x3407c]
shr r8w, 4
mov r11, r8
movzx r8d, word [rbp + 0x340c4]
and r11d, 0xfff
shr r8w, 4
and r8d, 0xfff
mov r8d, dword [r14 + r8*4 + 0x32810]
add r8d, dword [r14 + r11*4 + 0x32810]
add r8d, dword [rsp + 0x48]
cmp r10d, r8d
jbe 0x466fc1
mov dword [r14 + 0x840], r8d
xor esi, esi
mov dword [r14 + 0x85c], 0
jmp 0x466fc1
movzx r11d, byte [rsp + 0x38]
mov esi, 0x100
xor r10d, r10d
movzx r15d, byte [rsp + 0x40]
or r11d, 0x100
add r15d, r15d
mov r9d, r11d
mov r8d, r15d
shr r9d, 8
and r8d, esi
add r8d, r9d
mov r9, qword [rsp + 0x48]
add r8d, esi
movzx r8d, word [r9 + r8*2]
mov r9d, r11d
add r11d, r11d
shl r9d, 0x18
sar r9d, 0x1f
and r9d, 0x7ff
xor r8d, r9d
mov r9, qword [rsp + 0xc0]
sar r8d, 4
movsxd r8, r8d
add r10d, dword [r9 + r8*4]
mov r8d, r15d
xor r8d, r11d
not r8d
and esi, r8d
cmp r11d, 0xffff
jbe 0x4689a4
jmp 0x466f3f
mov edi, dword [rsp + 0x70]
mov esi, 0xffffffff
and edi, dword [r14 + 0x70]
jmp 0x465a92
mov ecx, edx
shr ecx, 7
cmp ecx, r13d
ja 0x466d22
jmp 0x46638e
mov r9d, 2
jmp 0x4669d9
mov eax, dword [r14 + 0x384]
test eax, eax
jne 0x4665ae
jmp 0x465d37
mov edx, ebp
sub edx, 1
jne 0x468a8a
mov eax, dword [r14 + 0x5c]
mov esi, r13d
mov edi, dword [rsp + 0x70]
and edi, dword [r14 + 0x70]
mov rdx, rax
shl rdx, 4
mov r12d, edi
lea rdx, [rdx + r12 + 0x19f70]
movzx ecx, word [r14 + rdx*2 + 4]
jmp 0x466986
mov ebp, 2
jmp 0x46631f
add dword [r14 + 0x48], edx
mov esi, r13d
mov ebx, ebp
mov rcx, qword [r14]
call qword [r14 + 0x28]
jmp 0x465d7a
mov eax, dword [rsp + 0x70]
jmp 0x466b86
shl eax, 8
mov rcx, rbx
mov dword [r14 + 0xb8], eax
call fcn.004646f0
mov r9d, dword [r14 + 0x5c]
jmp 0x46590b
sub dword [r14 + 0x48], 1
mov dword [rsp + 0x70], 1
jmp 0x4659c0