Function at 0x14002a090
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
xor eax, eax
mov rbx, rcx
mov qword [rcx + 0x30], rax
cmp dword [rcx + 0x4c], eax
jne 0x14002a0c4
lea rdx, [rbp + 0x67]
call fcn.140029fd0
mov r13d, eax
mov eax, dword [rbp + 0x67]
jmp 0x14002a0cb
mov r13d, dword [rcx + 0x38]
mov eax, dword [rcx + 0x3c]
mov edi, dword [rbx + 0x40]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xc8], r15
mov dword [rbp + 0x67], eax
cmp edi, 2
jb 0x14002b6d2
mov rcx, qword [rbx]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
movzx r15d, byte [rax - 1]
xor edx, edx
mov r14, rax
mov r12, rbx
mov r9d, edx
mov r11d, edx
lea rsi, [rax - 1]
mov r10d, edx
lea rax, [rbp - 0x71]
sub r12, rax
nop dword [rax + rax]
lea rax, [rbp - 0x71]
add rax, r10
mov r8d, dword [r12 + rax + 0x50]
mov dword [rax], r8d
neg r8
cmp r15b, byte [r8 + rsi]
jne 0x14002a194
movzx eax, byte [r8 + rsi + 1]
cmp byte [r14], al
jne 0x14002a194
mov edx, 2
cmp edi, edx
jbe 0x14002a172
lea rcx, [rsi + 2]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x14002a172
inc edx
inc rcx
cmp edx, edi
jb 0x14002a160
mov eax, r9d
mov ecx, r11d
mov dword [rbp + r10 - 0x19], edx
cmp edx, dword [rbp + rax*4 - 0x19]
cmovbe ecx, r9d
mov r9d, ecx
cmp edx, 0x111
je 0x14002a1a6
xor edx, edx
jmp 0x14002a199
mov dword [rbp + r10 - 0x19], edx
inc r11d
add r10, 4
cmp r11d, 4
jb 0x14002a130
mov eax, r9d
mov edi, dword [rbp + rax*4 - 0x19]
mov eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x14002a1d1
lea ecx, [rdi - 1]
mov dword [rbx + 0xb8], r9d
add dword [rbx + 0x4c], ecx
lea edx, [rdi - 1]
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, edi
jmp 0x14002b6e1
cmp r13d, eax
jb 0x14002a202
mov eax, dword [rbp + 0x67]
lea edx, [r13 - 1]
mov ecx, dword [rbx + rax*4 + 0xa1c]
lea eax, [r13 - 1]
add dword [rbx + 0x4c], eax
add ecx, 4
mov dword [rbx + 0xb8], ecx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, r13d
jmp 0x14002b6e1
mov eax, dword [rbp - 0x71]
mov rcx, rsi
movzx r15d, byte [rsi]
sub rcx, rax
cmp edi, r13d
mov dword [rsp + 0x20], eax
mov eax, r13d
cmova eax, edi
movzx r14d, byte [rcx]
mov dword [rbp + 0x77], eax
cmp eax, 2
jae 0x14002a231
cmp r15b, r14b
jne 0x14002b6d2
movzx eax, word [rbx + 0x44]
mov r8d, r15d
mov word [rbx + 0xf57c], ax
bts r8d, 8
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbx + 0xbc]
movzx edx, byte [rsi - 1]
mov edi, dword [rbx + 0x64]
mov esi, dword [rbx + 0x44]
and edi, eax
shl eax, 8
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r11, [rax + rcx*2]
xor eax, eax
cmp esi, 7
jb 0x14002a2d1
mov edx, r14d
mov r10d, eax
mov r9d, 0x100
add edx, edx
mov eax, r9d
and eax, edx
mov ecx, r8d
add eax, r9d
shr ecx, 8
add ecx, eax
mov eax, r8d
shr eax, 7
add r8d, r8d
and eax, 1
neg eax
movzx ecx, word [r11 + rcx*2]
shr rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
mov eax, r8d
xor eax, edx
not eax
and r9d, eax
add r10d, dword [rbx + rcx*4 + 0x820]
cmp r8d, 0x10000
jb 0x14002a281
jmp 0x14002a30f
mov r9d, eax
nop dword [rax]
nop dword [rax + rax]
mov ecx, r8d
shr r8d, 1
and ecx, 1
neg ecx
shr rcx, 4
movzx edx, word [r11 + r8*2]
and ecx, 0x7f
shr rdx, 4
xor rdx, rcx
add r9d, dword [rbx + rdx*4 + 0x820]
cmp r8d, 2
jae 0x14002a2e0
mov r10d, r9d
mov rcx, rsi
mov esi, edi
mov rdx, rcx
shl rdx, 4
add rdx, rsi
movzx eax, word [rbx + rdx*2 + 0x1f70]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x820]
mov dword [rbx + 0xf5a4], 0xffffffff
add r8d, r10d
mov dword [rbx + 0xf598], r8d
xor r10d, r10d
mov word [rbx + 0xf59e], r10w
movzx eax, word [rbx + rdx*2 + 0x1f70]
xor rax, 0x7f0
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + rcx*2 + 0x1f10]
xor rax, 0x7f0
mov dword [rbp + 0x7f], r9d
shr rax, 4
mov r12d, dword [rbx + rax*4 + 0x820]
add r12d, r9d
cmp r14b, r15b
jne 0x14002a3eb
cmp dword [rbp - 0x19], r10d
jne 0x14002a3eb
movzx eax, word [rbx + rdx*2 + 0x20f0]
movzx ecx, word [rbx + rcx*2 + 0x1f28]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
mov eax, 0xffffffff
add edx, r12d
cmp edx, r8d
jae 0x14002a3da
mov dword [rbx + 0xf598], edx
mov eax, r10d
mov dword [rbx + 0xf5a4], r10d
cmp dword [rbp + 0x77], 2
jae 0x14002a3eb
mov dword [rbx + 0xb8], eax
jmp 0x14002b6dc
mov eax, dword [rsp + 0x20]
lea rdi, [rbp - 0x19]
mov r15d, 1
mov r9d, r10d
mov dword [rbx + 0xf5a0], r15d
xor r14d, r14d
mov dword [rbx + 0xf588], eax
mov eax, dword [rbp - 0x6d]
mov dword [rbx + 0xf58c], eax
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x69]
mov dword [rbx + 0xf590], eax
mov eax, dword [rbp - 0x65]
mov dword [rbx + 0xf594], eax
nop dword [rax + rax]
mov r8d, dword [rdi]
cmp r8d, 2
jb 0x14002a539
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1f28]
test r9d, r9d
jne 0x14002a47a
shl rax, 4
add rax, rsi
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x20f0]
xor rax, 0x7f0
shr rax, 4
mov edx, dword [rbx + rax*4 + 0x820]
add edx, dword [rbx + rcx*4 + 0x820]
jmp 0x14002a4e2
movzx r10d, word [rbx + rax*2 + 0x1f40]
xor rcx, 0x7f0
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
cmp r9d, r15d
jne 0x14002a4a8
shr r10, 4
add edx, dword [rbx + r10*4 + 0x820]
jmp 0x14002a4e2
movzx ecx, word [rbx + rax*2 + 0x1f58]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, r9d
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x820]
add eax, dword [rbx + r10*4 + 0x820]
add edx, eax
lea r10d, [rdx + r12]
imul r11, rsi, 0x110
nop dword [rax]
mov edx, r8d
lea rax, [r11 + rdx]
shl rdx, 5
mov eax, dword [rbx + rax*4 + 0xb170]
add eax, r10d
cmp eax, dword [rdx + rbx + 0xf578]
jae 0x14002a52e
mov dword [rdx + rbx + 0xf578], eax
mov dword [rdx + rbx + 0xf580], r8d
mov dword [rdx + rbx + 0xf584], r9d
mov word [rdx + rbx + 0xf57e], r14w
dec r8d
cmp r8d, 2
jae 0x14002a4f0
jmp 0x14002a540
imul r11, rsi, 0x110
inc r9d
add rdi, 4
cmp r9d, 4
jb 0x14002a430
mov edx, dword [rbp - 0x19]
inc edx
cmp edx, r13d
ja 0x14002a69b
mov r12d, dword [rbp + 0x7f]
lea rcx, [rbx + 0xa20]
xor eax, eax
mov r10d, eax
mov eax, dword [rbx + 0x44]
movzx eax, word [rbx + rax*2 + 0x1f10]
shr rax, 4
add r12d, dword [rbx + rax*4 + 0x820]
cmp edx, 2
jae 0x14002a592
mov edx, 2
jmp 0x14002a5a7
cmp edx, dword [rcx]
jbe 0x14002a5a7
add r10d, 2
cmp edx, dword [rcx + r10*4]
ja 0x14002a596
imul r11, rsi, 0x110
mov r13d, 0x4c8
nop dword [rax]
mov eax, r10d
mov edi, dword [rcx + rax*4 + 4]
lea r14, [rcx + rax*4]
mov esi, edx
lea rax, [r11 + rsi]
mov r15d, dword [rbx + rax*4 + 0x6d6c]
lea eax, [rdx - 2]
add r15d, r12d
cmp edx, 5
jb 0x14002a5d9
mov eax, 3
mov r8d, eax
mov r9, rdi
cmp edi, 0x80
jae 0x14002a5fc
shl r8, 7
and r9d, 0x7f
add r8, r9
mov eax, dword [rbx + r8*4 + 0x16f0]
jmp 0x14002a645
cmp edi, 0x100000
mov eax, 6
mov ecx, 0x13
cmovb ecx, eax
mov rax, r9
shr rax, cl
cmp edi, 0x100000
movzx ecx, byte [rax + rbx + 0x2d70]
mov eax, 0x4e2
cmovb rax, r13
shl r8, 6
add rcx, rax
and r9d, 0xf
add rcx, r8
mov eax, dword [rbx + rcx*4]
add eax, dword [rbx + r9*4 + 0x12b0]
shl rsi, 5
lea ecx, [r15 + rax]
cmp ecx, dword [rsi + rbx + 0xf578]
jae 0x14002a678
lea eax, [rdi + 4]
mov dword [rsi + rbx + 0xf578], ecx
mov dword [rsi + rbx + 0xf584], eax
xor eax, eax
mov word [rsi + rbx + 0xf57e], ax
mov dword [rsi + rbx + 0xf580], edx
cmp edx, dword [r14]
jne 0x14002a687
add r10d, 2
cmp r10d, dword [rbp + 0x67]
je 0x14002a695
inc edx
lea rcx, [rbx + 0xa20]
jmp 0x14002a5b0
mov r15d, 1
mov esi, dword [rbp + 0x77]
mov r13d, r15d
mov dword [rbp + 0x7f], r15d
cmp esi, 1
je 0x14002b5e0
mov dword [rbp + 0x77], esi
lea r15, [0x140000000]
nop dword [rax + rax]
cmp r13d, 0x7c0
jae 0x14002b578
mov rcx, qword [rbx]
inc dword [rbx + 0x4c]
call qword [rbx + 0x10]
mov rcx, qword [rbx]
lea rdx, [rbx + 0xa20]
mov dword [rbx + 0x40], eax
call qword [rbx + 0x20]
mov rcx, 0xfffffffffffff5e0
sub rcx, rbx
add rax, rcx
sar rax, 2
mov qword [rbp - 0x29], rax
test eax, eax
jne 0x14002a707
xor r9d, r9d
mov r14d, r9d
jmp 0x14002a770
mov esi, eax
mov r14d, dword [rbx + rsi*4 + 0xa18]
mov qword [rbp - 0x31], r14
cmp r14d, dword [rbx + 0x48]
je 0x14002a723
mov esi, dword [rbp + 0x77]
xor r9d, r9d
jmp 0x14002a774
mov edi, dword [rbx + 0x40]
mov eax, 0x111
mov rcx, qword [rbx]
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
mov edx, dword [rbx + rsi*4 + 0xa1c]
mov ecx, edi
not rdx
lea r8, [rax - 1]
add r14, r8
add rcx, r8
cmp r14, rcx
je 0x14002a763
movzx eax, byte [rdx + r14]
cmp byte [r14], al
jne 0x14002a763
inc r14
cmp r14, rcx
jne 0x14002a751
mov esi, dword [rbp + 0x77]
sub r14d, r8d
mov rax, qword [rbp - 0x29]
xor r9d, r9d
mov qword [rbp - 0x31], r14
cmp r14d, dword [rbx + 0x48]
jae 0x14002b56f
mov r12d, dword [rbp + 0x6f]
mov ecx, r13d
mov edi, r13d
shl rdi, 5
add rdi, rbx
inc r12d
mov dword [rbp + 0x6f], r12d
mov eax, dword [rdi + 0xf580]
sub ecx, eax
cmp eax, 1
jne 0x14002a7e4
mov r8d, dword [rsp + 0x28]
lea rdx, [0x140471298]
mov r14d, dword [rsp + 0x20]
mov r9d, dword [rbp - 0x69]
mov eax, ecx
shl rax, 5
cmp dword [rdi + 0xf584], 0
movzx ecx, word [rax + rbx + 0xf57c]
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v
cmovne rax, rdx
movzx esi, byte [rcx + rax]
mov eax, dword [rbp - 0x65]
jmp 0x14002a900
movzx r8d, word [rdi + 0xf57e]
mov edx, dword [rdi + 0xf584]
test r8w, r8w
je 0x14002a838
sub ecx, r8d
mov esi, 8
cmp r8d, 1
jne 0x14002a813
cmp edx, 4
mov esi, r9d
setb sil
add esi, 7
shl rcx, 5
add rcx, 0xf578
mov dword [rbp + 0x67], esi
add rcx, rbx
mov r8d, dword [rcx + 0x10]
mov dword [rsp + 0x28], r8d
cmp edx, 4
jae 0x14002a8dc
jmp 0x14002a86c
mov eax, ecx
shl rcx, 5
add rcx, 0xf578
shl rax, 5
add rcx, rbx
movzx r8d, word [rax + rbx + 0xf57c]
cmp edx, 4
jae 0x14002a8cf
movzx esi, byte [r8 + r15 + 0x4712c8]
mov r8d, dword [rcx + 0x10]
mov dword [rsp + 0x28], r8d
mov eax, dword [rcx + 0x14]
test edx, edx
jne 0x14002a892
mov r9d, dword [rcx + 0x18]
mov r14d, r8d
mov dword [rsp + 0x20], r8d
mov dword [rbp - 0x71], r8d
mov r8d, eax
mov dword [rsp + 0x28], eax
mov dword [rbp - 0x6d], eax
mov eax, dword [rcx + 0x1c]
jmp 0x14002a8f9
mov dword [rbp - 0x6d], r8d
mov r14d, eax
mov dword [rsp + 0x20], eax
cmp edx, 1
jne 0x14002a8ae
mov r9d, dword [rcx + 0x18]
mov dword [rbp - 0x71], eax
mov eax, dword [rcx + 0x1c]
jmp 0x14002a8f9
mov r14d, dword [rcx + rdx*4 + 0x10]
mov r9d, eax
mov dword [rbp - 0x69], eax
mov rax, rdx
xor rax, 1
mov dword [rsp + 0x20], r14d
mov dword [rbp - 0x71], r14d
mov eax, dword [rcx + rax*4 + 0x10]
jmp 0x14002a8fd
movzx esi, byte [r8 + r15 + 0x4712a8]
mov r8d, dword [rcx + 0x10]
mov r9d, dword [rcx + 0x14]
lea r14d, [rdx - 3]
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x20], r14d
mov dword [rbp - 0x71], r14d
mov dword [rsp + 0x28], r8d
mov dword [rbp - 0x6d], r8d
mov dword [rbp - 0x69], r9d
mov dword [rbp - 0x65], eax
mov word [rdi + 0xf57c], si
mov dword [rdi + 0xf588], r14d
mov dword [rdi + 0xf58c], r8d
mov dword [rdi + 0xf590], r9d
mov dword [rdi + 0xf594], eax
mov rcx, qword [rbx]
call qword [rbx + 0x18]
mov edx, dword [rdi + 0xf578]
mov r9d, dword [rbx + 0x64]
movzx r8d, byte [rax - 1]
lea r10, [rax - 1]
mov qword [rbp - 0x61], rax
mov ecx, r14d
mov r15, r10
mov r14d, dword [rdi + 0xf598]
sub r15, rcx
mov ecx, r12d
and r9, rcx
mov eax, esi
mov qword [rbp - 0x39], rax
movzx r13d, byte [r15]
shl rax, 4
add rax, r9
mov qword [rbp - 0x49], r9
mov qword [rbp - 9], rax
mov qword [rbp - 0x41], r10
mov byte [rbp + 0x67], r8b
movzx ecx, word [rbx + rax*2 + 0x1f70]
mov eax, ecx
shr rcx, 4
xor rax, 0x7f0
shr rax, 4
mov r12d, dword [rbx + rcx*4 + 0x820]
add r12d, edx
mov eax, dword [rbx + rax*4 + 0x820]
add eax, edx
mov dword [rbp - 0x75], eax
xor eax, eax
mov dword [rsp + 0x24], eax
mov r9d, eax
cmp r14d, 0x40000000
jae 0x14002a9bc
cmp r13b, r8b
je 0x14002a9c1
cmp r12d, r14d
jbe 0x14002a9c9
mov r12d, eax
jmp 0x14002aad2
mov ecx, dword [rbx + 0xbc]
mov eax, dword [rbp + 0x6f]
movzx edx, byte [r10 - 1]
shl eax, 8
add edx, eax
movzx r8d, r8b
and edx, dword [rbx + 0x60]
bts r8d, 8
mov rax, qword [rbx + 0x68]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r11, [rax + rcx*2]
xor eax, eax
cmp esi, 7
jb 0x14002aa60
mov edx, r13d
mov r10d, eax
mov r9d, 0x100
nop dword [rax + rax]
add edx, edx
mov eax, r9d
and eax, edx
mov ecx, r8d
add eax, r9d
shr ecx, 8
add ecx, eax
mov eax, r8d
shr eax, 7
add r8d, r8d
and eax, 1
neg eax
movzx ecx, word [r11 + rcx*2]
shr rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
mov eax, r8d
xor eax, edx
not eax
and r9d, eax
add r10d, dword [rbx + rcx*4 + 0x820]
cmp r8d, 0x10000
jb 0x14002aa10
jmp 0x14002aa8f
mov ecx, r8d
shr r8d, 1
and ecx, 1
neg ecx
shr rcx, 4
movzx edx, word [r11 + r8*2]
and ecx, 0x7f
shr rdx, 4
xor rdx, rcx
add r9d, dword [rbx + rdx*4 + 0x820]
cmp r8d, 2
jae 0x14002aa60
mov r10d, r9d
movzx r8d, byte [rbp + 0x67]
add r12d, r10d
mov r10, qword [rbp - 0x41]
cmp r12d, r14d
jae 0x14002aacd
mov eax, 1
mov dword [rdi + 0xf598], r12d
xor ecx, ecx
mov dword [rdi + 0xf5a0], eax
mov word [rdi + 0xf59e], cx
mov r9d, eax
mov dword [rdi + 0xf5a4], 0xffffffff
mov r14d, r12d
jmp 0x14002aad2
mov r9d, dword [rsp + 0x24]
mov r11d, dword [rbp - 0x75]
mov ecx, 0x7ff
sub ecx, dword [rbp + 0x7f]
mov edx, esi
movzx eax, word [rbx + rdx*2 + 0x1f10]
xor rax, 0x7f0
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x820]
cmp dword [rbx + 0x40], ecx
mov dword [rbp - 0x55], r11d
cmovbe ecx, dword [rbx + 0x40]
mov dword [rbp - 0x79], ecx
cmp esi, 7
jae 0x14002ab7b
cmp r13b, r8b
jne 0x14002ab7b
cmp r11d, r14d
jae 0x14002ab7b
cmp dword [rdi + 0xf5a0], 2
jb 0x14002ab29
cmp dword [rdi + 0xf5a4], 0
je 0x14002ab7b
mov rax, qword [rbp - 9]
movzx ecx, word [rbx + rax*2 + 0x20f0]
movzx eax, word [rbx + rdx*2 + 0x1f28]
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
mov ecx, dword [rbp - 0x79]
add edx, r11d
cmp edx, r14d
jae 0x14002ab7b
xor eax, eax
mov dword [rdi + 0xf598], edx
mov word [rdi + 0xf59e], ax
mov r9d, eax
mov qword [rdi + 0xf5a0], 1
cmp ecx, 2
jb 0x14002b54f
mov edx, dword [rbx + 0x48]
cmp ecx, edx
mov edi, edx
cmovbe edi, ecx
mov dword [rbp - 0x7d], edi
test r9d, r9d
jne 0x14002acf6
test r12d, r12d
je 0x14002acf6
cmp r13b, r8b
je 0x14002acf6
cmp ecx, 2
mov rcx, qword [rbp - 0x61]
jbe 0x14002acec
movzx eax, byte [r15 + 1]
cmp byte [rcx], al
jne 0x14002acec
movzx eax, byte [r15 + 2]
cmp byte [r10 + 2], al
jne 0x14002acec
inc edx
mov r11d, 3
cmp edx, dword [rbp - 0x79]
cmova edx, dword [rbp - 0x79]
cmp edx, r11d
jbe 0x14002ac04
lea rcx, [r10 + 3]
sub r15, r10
movzx eax, byte [r15 + rcx]
cmp byte [rcx], al
jne 0x14002ac04
inc r11d
inc rcx
cmp r11d, edx
jb 0x14002abf0
mov r9d, dword [rbp + 0x6f]
lea rcx, [0x140471298]
mov r13d, dword [rbp + 0x7f]
inc r9d
mov eax, esi
lea r10d, [r11 + r13]
movzx r8d, byte [rax + rcx]
mov r14d, r10d
mov eax, dword [rbx + 0x64]
mov ecx, r8d
and r9, rax
cmp dword [rbp + 0x77], r10d
cmovae r14d, dword [rbp + 0x77]
dec r11d
shl rcx, 4
add rcx, r9
movzx edx, word [rbx + rcx*2 + 0x20f0]
movzx eax, word [rbx + rcx*2 + 0x1f70]
xor rdx, 0x7f0
xor rax, 0x7f0
shr rdx, 4
shr rax, 4
imul rcx, r9, 0x110
mov edx, dword [rbx + rdx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + r8*2 + 0x1f10]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + r8*2 + 0x1f28]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
mov eax, r11d
add rcx, rax
mov eax, r10d
shl rax, 5
add edx, dword [rbx + rcx*4 + 0xb170]
add edx, r12d
cmp edx, dword [rax + rbx + 0xf578]
jae 0x14002acfe
xor ecx, ecx
mov dword [rax + rbx + 0xf578], edx
mov dword [rax + rbx + 0xf584], ecx
mov dword [rax + rbx + 0xf580], r11d
mov word [rax + rbx + 0xf57e], 1
jmp 0x14002acfe
mov r14d, dword [rbp + 0x77]
mov r13d, dword [rbp + 0x7f]
jmp 0x14002ad02
mov r14d, dword [rbp + 0x77]
mov r13d, dword [rbp + 0x7f]
mov rcx, qword [rbp - 0x61]
mov r15, qword [rbp - 0x41]
lea rax, [rbp - 0x71]
xor r10d, r10d
mov qword [rbp - 1], rax
mov esi, r10d
mov dword [rbp - 0x59], r10d
mov dword [rbp + 0x67], 2
nop
mov eax, dword [rax]
neg rax
mov qword [rbp - 0x21], rax
lea r11, [rax + r15]
movzx eax, byte [rax + r15]
mov qword [rbp + 7], r11
cmp byte [r15], al
jne 0x14002b0f1
movzx eax, byte [r11 + 1]
cmp byte [rcx], al
jne 0x14002b0f1
mov r9d, 2
mov dword [rsp + 0x24], r9d
cmp edi, r9d
jbe 0x14002ad7b
nop dword [rax]
mov ecx, r9d
movzx eax, byte [r11 + rcx]
cmp byte [rcx + r15], al
jne 0x14002ad76
inc r9d
cmp r9d, edi
jb 0x14002ad60
mov dword [rsp + 0x24], r9d
lea eax, [r9 + r13]
mov edx, r9d
cmp r14d, eax
cmovae eax, r14d
mov dword [rbp + 0x77], eax
mov r14d, eax
mov r10d, eax
mov rax, qword [rbp - 0x39]
movzx ecx, word [rbx + rax*2 + 0x1f28]
test esi, esi
jne 0x14002adce
mov rax, qword [rbp - 9]
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x20f0]
xor rax, 0x7f0
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x820]
add r8d, dword [rbx + rcx*4 + 0x820]
jmp 0x14002ae3a
movzx r10d, word [rbx + rax*2 + 0x1f40]
xor rcx, 0x7f0
shr rcx, 4
mov r8d, dword [rbx + rcx*4 + 0x820]
cmp esi, 1
jne 0x14002adfd
shr r10, 4
add r8d, dword [rbx + r10*4 + 0x820]
jmp 0x14002ae37
movzx ecx, word [rbx + rax*2 + 0x1f58]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, esi
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x820]
add eax, dword [rbx + r10*4 + 0x820]
add r8d, eax
mov r10d, r14d
imul r11, qword [rbp - 0x49], 0x110
mov r9d, dword [rbp - 0x55]
add r9d, r8d
mov qword [rbp + 0xf], r11
mov dword [rbp - 0x51], r9d
xor r12d, r12d
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea ecx, [rdx + r13]
add rax, r11
shl rcx, 5
mov r8d, dword [rbx + rax*4 + 0xb170]
add r8d, r9d
cmp r8d, dword [rcx + rbx + 0xf578]
jae 0x14002aea1
mov dword [rcx + rbx + 0xf578], r8d
mov dword [rcx + rbx + 0xf580], edx
mov dword [rcx + rbx + 0xf584], esi
mov word [rcx + rbx + 0xf57e], r12w
dec edx
cmp edx, 2
jae 0x14002ae60
mov r9d, dword [rsp + 0x24]
test esi, esi
jne 0x14002aebd
lea edx, [r9 + 1]
mov dword [rbp + 0x67], edx
mov r8d, edx
jmp 0x14002aec4
mov edx, dword [rbp + 0x67]
lea r8d, [r9 + 1]
mov edi, dword [rbx + 0x48]
mov r11, qword [rbp + 7]
add edi, r8d
cmp edi, dword [rbp - 0x79]
mov r12, qword [rbp - 0x49]
cmova edi, dword [rbp - 0x79]
mov ecx, r8d
add r8d, 2
cmp r8d, edi
ja 0x14002b0ec
movzx eax, byte [r11 + rcx]
mov r14d, r10d
cmp byte [rcx + r15], al
jne 0x14002b0ec
lea eax, [r8 - 1]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r15], al
jne 0x14002b0ec
movzx edx, byte [r9 + r15]
xor eax, eax
mov ecx, dword [rbp + 0x6f]
mov esi, eax
movzx eax, byte [r9 + r15 - 1]
add ecx, r9d
movzx r10d, byte [r11 + r9]
mov r13d, ecx
and r13d, dword [rbx + 0x64]
mov r11d, 0x100
mov r14, qword [rbx + 0x68]
or edx, r11d
shl ecx, 8
add eax, ecx
mov ecx, dword [rbx + 0xbc]
and eax, dword [rbx + 0x60]
shl eax, cl
lea r15d, [rax + rax*2]
add r10d, r10d
mov eax, r11d
and eax, r10d
mov ecx, edx
add eax, r11d
shr ecx, 8
add eax, ecx
add rax, r15
movzx ecx, word [r14 + rax*2]
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
shr rcx, 4
neg eax
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, edx
xor eax, r10d
not eax
and r11d, eax
add esi, dword [rbx + rcx*4 + 0x820]
cmp edx, 0x10000
jb 0x14002af52
mov rax, qword [rbp - 0x39]
lea rcx, [0x140000000]
mov r11d, dword [rbp - 0x51]
lea r10d, [r13 + 1]
mov r15, qword [rbp - 0x41]
movzx ecx, byte [rax + rcx + 0x4712c8]
shl rcx, 4
mov eax, r13d
add rcx, rax
mov rax, qword [rbp + 0xf]
add rax, r9
movzx ecx, word [rbx + rcx*2 + 0x1f70]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0xb170]
mov eax, dword [rbx + 0x64]
add edx, esi
and r10, rax
add r11d, edx
movzx ecx, word [rbx + r10*2 + 0x2190]
movzx eax, word [rbx + r10*2 + 0x2010]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f1a]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f32]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
add r11d, edx
cmp r8d, edi
jae 0x14002b079
mov rdx, qword [rbp - 0x21]
mov ecx, r8d
add rcx, r15
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002b079
inc r8d
inc rcx
cmp r8d, edi
jb 0x14002b066
mov r13d, dword [rbp + 0x7f]
mov eax, 0xffffffff
mov esi, dword [rbp - 0x59]
mov edi, dword [rbp - 0x7d]
lea r14d, [r8 + r13]
cmp dword [rbp + 0x77], r14d
mov edx, r14d
cmovae r14d, dword [rbp + 0x77]
sub eax, r9d
add r8d, eax
imul rcx, r10, 0x110
mov eax, r8d
add rcx, rax
mov eax, edx
mov edx, dword [rbp + 0x67]
shl rax, 5
mov ecx, dword [rbx + rcx*4 + 0xb170]
add ecx, r11d
cmp ecx, dword [rax + rbx + 0xf578]
jae 0x14002b0f8
inc r9w
mov dword [rax + rbx + 0xf578], ecx
mov word [rax + rbx + 0xf57e], r9w
mov dword [rax + rbx + 0xf580], r8d
mov dword [rax + rbx + 0xf584], esi
jmp 0x14002b0f8
mov edi, dword [rbp - 0x7d]
jmp 0x14002b0f8
mov r12, qword [rbp - 0x49]
mov edx, dword [rbp + 0x67]
mov rax, qword [rbp - 1]
inc esi
mov rcx, qword [rbp - 0x61]
add rax, 4
mov dword [rbp - 0x59], esi
mov qword [rbp - 1], rax
cmp esi, 4
jb 0x14002ad20
mov rcx, qword [rbp - 0x31]
lea r9, [rbx + 0xa20]
xor r10d, r10d
mov dword [rbp + 0x77], r14d
cmp ecx, edi
jbe 0x14002b14f
mov ecx, edi
mov r8d, r10d
cmp edi, dword [r9]
jbe 0x14002b140
add r8d, 2
cmp edi, dword [r9 + r8*4]
ja 0x14002b136
mov eax, r8d
add r8d, 2
mov qword [rbp - 0x29], r8
mov dword [r9 + rax*4], edi
cmp ecx, edx
jb 0x14002b553
mov rax, qword [rbp - 0x39]
mov r15d, r10d
mov edx, dword [rbp - 0x75]
mov r10d, dword [rbp + 0x67]
movzx eax, word [rbx + rax*2 + 0x1f10]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
lea eax, [rcx + r13]
cmp r14d, eax
mov dword [rsp + 0x24], edx
cmovae eax, r14d
mov dword [rbp + 0x77], eax
cmp r10d, dword [r9]
jbe 0x14002b19a
nop
add r15d, 2
cmp r10d, dword [r9 + r15*4]
ja 0x14002b190
mov eax, r15d
lea edi, [r10 + 3]
mov ecx, 0x13
mov r11d, dword [r9 + rax*4 + 4]
mov eax, 6
cmp r11d, 0x100000
mov dword [rbp - 0x75], r11d
mov r8d, r11d
cmovb ecx, eax
mov eax, r11d
shr rax, cl
mov ecx, ntohs
cmp r11d, 0x100000
movzx r9d, byte [rax + rbx + 0x2d70]
mov eax, 0x26
cmovb eax, ecx
add r9d, eax
imul rax, r12, 0x110
lea r12d, [r13 - 3]
mov qword [rbp - 0x21], rax
mov dword [rbp + 0x67], r12d
nop word [rax + rax]
lea r13d, [rdi - 3]
mov r14d, r13d
add rax, r14
mov r10d, dword [rbx + rax*4 + 0x6d6c]
lea eax, [r13 - 2]
add r10d, edx
mov edx, 3
cmp eax, edx
cmovb edx, eax
cmp r11d, 0x80
jae 0x14002b242
mov rax, r8
shl rdx, 7
and eax, 0x7f
add rdx, rax
mov ecx, dword [rbx + rdx*4 + 0x16f0]
jmp 0x14002b260
shl rdx, 6
mov eax, r9d
add rdx, rax
mov rax, r8
and eax, 0xf
mov ecx, dword [rbx + rdx*4 + 0x12f0]
add ecx, dword [rbx + rax*4 + 0x12b0]
lea esi, [r10 + rcx]
lea ecx, [r12 + rdi]
shl rcx, 5
cmp esi, dword [rcx + rbx + 0xf578]
jae 0x14002b299
lea eax, [r11 + 4]
mov dword [rcx + rbx + 0xf578], esi
mov dword [rcx + rbx + 0xf584], eax
xor eax, eax
mov word [rcx + rbx + 0xf57e], ax
mov dword [rcx + rbx + 0xf580], r13d
mov eax, r15d
lea rcx, [rbx + 0xa20]
cmp r13d, dword [rcx + rax*4]
jne 0x14002b540
mov r11, qword [rbp - 0x41]
mov r10d, edi
mov edx, dword [rbx + 0x48]
mov r9, r11
add edx, 0xfffffffe
sub r9, r8
add edx, edi
dec r9
cmp edx, dword [rbp - 0x79]
cmova edx, dword [rbp - 0x79]
cmp edi, edx
ja 0x14002b4f0
lea eax, [rdi - 2]
mov ecx, eax
movzx eax, byte [r9 + rax]
cmp byte [rcx + r11], al
jne 0x14002b4e9
lea eax, [rdi - 1]
mov ecx, eax
movzx eax, byte [r9 + rax]
cmp byte [rcx + r11], al
jne 0x14002b4e9
cmp edi, edx
jae 0x14002b324
mov ecx, edi
mov r8, r11
add rcx, r9
sub r8, r9
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14002b324
inc r10d
inc rcx
cmp r10d, edx
jb 0x14002b310
mov rax, qword [rbp - 0x39]
lea rcx, [0x140000000]
mov edx, dword [rbp + 0x6f]
mov r11d, 0x100
movzx r9d, byte [r13 + r9]
add edx, 0xfffffffd
mov r14, qword [rbx + 0x68]
add edx, edi
movzx ecx, byte [rax + rcx + 0x4712a8]
mov r12d, edx
and r12d, dword [rbx + 0x64]
shl rcx, 4
shl edx, 8
mov eax, r12d
add rcx, rax
mov dword [rbp - 0x51], r10d
sub r10d, r13d
movzx eax, word [rbx + rcx*2 + 0x1f70]
mov rcx, qword [rbp - 0x61]
shr rax, 4
movzx r8d, byte [r13 + rcx - 1]
mov eax, dword [rbx + rax*4 + 0x820]
or r8d, r11d
add eax, esi
mov dword [rbp - 0x55], eax
xor eax, eax
mov esi, eax
movzx eax, byte [r13 + rcx - 2]
mov ecx, dword [rbx + 0xbc]
add eax, edx
and eax, dword [rbx + 0x60]
shl eax, cl
lea edx, [rax + rax*2]
nop dword [rax]
add r9d, r9d
mov eax, r11d
and eax, r9d
mov ecx, r8d
add eax, r11d
shr ecx, 8
add eax, ecx
add rax, rdx
movzx ecx, word [r14 + rax*2]
mov eax, r8d
shr eax, 7
add r8d, r8d
and eax, 1
shr rcx, 4
neg eax
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, r8d
xor eax, r9d
not eax
and r11d, eax
add esi, dword [rbx + rcx*4 + 0x820]
cmp r8d, 0x10000
jb 0x14002b3b0
mov eax, dword [rbx + 0x64]
lea r8d, [r12 + 1]
mov r9d, dword [rbp - 0x51]
and r8, rax
add r9d, dword [rbp + 0x7f]
cmp dword [rbp + 0x77], r9d
mov r14d, r9d
mov r12d, dword [rbp + 0x67]
cmovae r14d, dword [rbp + 0x77]
dec r10d
movzx ecx, word [rbx + r8*2 + 0x2170]
movzx eax, word [rbx + r8*2 + 0x1ff0]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, r10d
mov dword [rbp + 0x77], r14d
mov r11d, dword [rbx + rcx*4 + 0x820]
add r11d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f18]
xor rax, 0x7f0
mov ecx, r9d
shr rax, 4
shl rcx, 5
add rcx, rbx
add r11d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f30]
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x820]
imul rax, r8, 0x110
add rax, rdx
add r11d, dword [rbx + rax*4 + 0xb170]
add r11d, esi
add r11d, dword [rbp - 0x55]
cmp r11d, dword [rcx + 0xf578]
jae 0x14002b4e9
mov eax, dword [rbp - 0x75]
inc r13w
add eax, 4
mov dword [rcx + 0xf578], r11d
mov dword [rcx + 0xf584], eax
mov dword [rcx + 0xf580], r10d
mov word [rcx + 0xf57e], r13w
mov dword [rbp + 0x77], r14d
lea rcx, [rbx + 0xa20]
add r15d, 2
cmp r15d, dword [rbp - 0x29]
je 0x14002b54f
mov r11d, dword [rcx + r15*4 + 4]
mov eax, 6
cmp r11d, 0x100000
mov dword [rbp - 0x75], r11d
mov ecx, 0x13
mov r8d, r11d
cmovb ecx, eax
mov eax, r11d
shr rax, cl
mov ecx, ntohs
cmp r11d, 0x100000
movzx r9d, byte [rax + rbx + 0x2d70]
mov eax, 0x26
cmovb eax, ecx
add r9d, eax
mov rax, qword [rbp - 0x21]
inc edi
mov edx, dword [rsp + 0x24]
jmp 0x14002b200
mov r13d, dword [rbp + 0x7f]
mov esi, dword [rbp + 0x77]
lea r15, [0x140000000]
inc r13d
mov dword [rbp + 0x7f], r13d
cmp r13d, esi
jne 0x14002a6c0
jmp 0x14002b5da
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], r14d
jmp 0x14002b5da
mov eax, r13d
lea edx, [r13 + 1]
shl rax, 5
mov edi, r13d
mov r8d, dword [rax + rbx + 0xf578]
cmp edx, esi
ja 0x14002b5c7
nop dword [rax]
nop word [rax + rax]
mov eax, edx
shl rax, 5
mov ecx, dword [rax + rbx + 0xf578]
cmp r8d, ecx
mov eax, edx
cmovb eax, edi
inc edx
cmp r8d, ecx
mov edi, eax
cmovb ecx, r8d
mov r8d, ecx
cmp edx, esi
jbe 0x14002b5a0
mov edx, edi
sub edx, r13d
je 0x14002b5d7
add dword [rbx + 0x4c], edx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov r13d, edi
mov r15d, 1
mov eax, esi
shl rax, 5
mov dword [rax + rbx + 0xf578], 0x40000000
add esi, 0xffffffff
jne 0x14002b5e0
lea r8d, [r13 + 1]
mov dword [rbx + 0x34], r8d
nop
mov eax, r13d
add rax, 0x7ac
mov edx, r13d
shl rdx, 5
shl rax, 5
movzx r10d, word [rdx + rbx + 0xf57e]
mov r9d, dword [rax + rbx]
sub r13d, r9d
mov r11d, dword [rdx + rbx + 0xf584]
test r10d, r10d
je 0x14002b697
dec r8d
sub r13d, r10d
mov ecx, r8d
shl rcx, 5
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r9d
mov r9d, r10d
cmp r10d, 1
jne 0x14002b666
mov dword [rcx + rbx + 0xf584], r11d
mov r11d, 0xffffffff
jmp 0x14002b697
xor eax, eax
lea r9d, [r10 - 1]
mov dword [rcx + rbx + 0xf584], eax
dec r8d
mov eax, r8d
shl rax, 5
mov dword [rax + rbx + 0xf584], 0xffffffff
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r15d
test r13d, r13d
je 0x14002b6c2
dec r8d
mov eax, r8d
shl rax, 5
mov dword [rax + rbx + 0xf584], r11d
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r9d
jmp 0x14002b600
mov dword [rbx + 0xb8], r11d
mov eax, r9d
mov dword [rbx + 0x30], r8d
jmp 0x14002b6e1
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
add rsp, 0xe8
pop r13
pop rdi
pop rbx
pop rbp
ret