Function at 0x1400060f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x4f]
sub rsp, 0xf8
mov rax, qword [0x14005f020]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r9, r8
mov qword [rbp - 0x41], r8
mov r8d, dword [rcx + 0x75c]
mov rbx, rcx
mov dword [rbp - 0x79], edx
cmp dword [rcx + 0x758], r8d
je 0x140006157
lea rdx, [r8 + r8*2]
add rdx, rdx
mov eax, dword [rcx + rdx*8 + 0x784]
mov ecx, dword [rcx + rdx*8 + 0x788]
sub eax, r8d
mov dword [r9], ecx
mov ecx, dword [rbx + rdx*8 + 0x784]
mov dword [rbx + 0x75c], ecx
jmp 0x140007833
xor eax, eax
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xe0], r13
mov qword [rcx + 0x758], rax
cmp dword [rcx + 0x33204], eax
jne 0x140006192
lea rdx, [rbp - 0x61]
call fcn.140005e40
mov r12d, dword [rbp - 0x61]
mov r13d, eax
jmp 0x1400061a0
mov r13d, dword [rcx + 0x760]
mov r12d, dword [rcx + 0x764]
mov edi, dword [rbx + 0x768]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
mov dword [rbp - 0x7d], r12d
mov dword [rbp - 0x65], r13d
cmp edi, 2
jb 0x1400077f4
mov rcx, qword [rbx + 0x30]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
movzx r15d, byte [rax - 1]
xor r10d, r10d
xor r11d, r11d
lea r8, [rax - 1]
nop
mov ecx, dword [rbx + r11*4 + 0x33208]
lea rsi, [r11*4]
mov dword [rbp + rsi - 1], ecx
mov r9, r8
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x140006259
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x140006259
mov edx, 2
cmp edi, edx
jbe 0x140006242
lea rcx, [r8 + 2]
sub r9, r8
nop dword [rax]
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x140006242
inc edx
inc rcx
cmp edx, edi
jb 0x140006230
mov eax, r10d
mov ecx, r11d
mov dword [rbp + rsi + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe ecx, r10d
mov r10d, ecx
jmp 0x140006261
mov dword [rbp + rsi + 0xf], 0
lea esi, [r11 + 1]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x1400062c8
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400062c8
mov edx, 2
cmp edi, edx
jbe 0x1400062b3
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x1400062b3
inc edx
inc rcx
cmp edx, edi
jb 0x1400062a1
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x1400062d1
mov dword [rbp + r14 + 0xf], 0
lea esi, [r11 + 2]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x140006338
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x140006338
mov edx, 2
cmp edi, edx
jbe 0x140006323
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x140006323
inc edx
inc rcx
cmp edx, edi
jb 0x140006311
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x140006341
mov dword [rbp + r14 + 0xf], 0
lea esi, [r11 + 3]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x1400063a8
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400063a8
mov edx, 2
cmp edi, edx
jbe 0x140006393
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x140006393
inc edx
inc rcx
cmp edx, edi
jb 0x140006381
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x1400063b1
mov dword [rbp + r14 + 0xf], 0
add r11d, 4
cmp r11d, 4
jb 0x1400061f0
mov eax, r10d
mov esi, dword [rbp + rax*4 + 0xf]
mov eax, dword [rbx + 0x33200]
cmp esi, eax
jb 0x1400063f2
mov rcx, qword [rbp - 0x41]
lea edx, [rsi - 1]
mov dword [rcx], r10d
test edx, edx
je 0x1400063eb
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x28]
mov eax, esi
jmp 0x140007803
cmp r13d, eax
jb 0x140006429
mov rcx, qword [rbp - 0x41]
lea eax, [r12 - 1]
mov eax, dword [rbx + rax*4 + 0x3296c]
lea edx, [r13 - 1]
add eax, 4
mov dword [rcx], eax
test edx, edx
je 0x140006421
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x28]
mov eax, r13d
jmp 0x140007803
mov ecx, dword [rbp - 1]
mov rax, r8
movzx r15d, byte [r8]
inc ecx
sub rax, rcx
movzx r14d, byte [rax]
cmp r13d, 2
jae 0x140006450
cmp r15b, r14b
je 0x140006450
cmp esi, 2
jb 0x1400077f4
mov eax, dword [rbx + 0x33218]
mov ecx, 8
mov r10d, dword [rbp - 0x79]
mov dword [rbx + 0x770], eax
sub cl, byte [rbx + 0x33e64]
movzx edx, byte [r8 - 1]
mov eax, dword [rbp - 0x79]
and eax, dword [rbx + 0x33e70]
and r10d, dword [rbx + 0x33e74]
mov r13d, dword [rbx + 0x33218]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
shl eax, cl
add edx, eax
movzx r8d, r15b
mov rax, qword [rbx + 0x33e78]
bts r8d, 8
mov dword [rsp + 0x28], r10d
lea ecx, [rdx + rdx*2]
shl ecx, 8
lea rdi, [rax + rcx*2]
cmp r13d, 7
jb 0x140006527
movzx r9d, r14b
xor r11d, r11d
mov r10d, 0x100
nop word [rax + rax]
mov ecx, r8d
add r9d, r9d
shr ecx, 8
mov eax, r10d
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rdi + rcx*2]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
mov eax, r8d
sar rcx, 4
xor eax, r9d
and ecx, 0x7f
not eax
xor rdx, rcx
and r10d, eax
add r11d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x1400064d0
mov r10d, dword [rsp + 0x28]
jmp 0x14000656b
xor r9d, r9d
nop word [rax + rax]
mov ecx, r8d
mov eax, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rax, 8
neg ecx
sar rcx, 4
and ecx, 0x7f
movzx edx, word [rdi + rax*2]
shr rdx, 4
xor rdx, rcx
add r9d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x140006530
mov r11d, r9d
lea rax, [r13 + 0x19f4]
mov r12d, r10d
shl rax, 4
add rax, r12
movzx eax, word [rbx + rax*2]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x3276c]
mov dword [rbx + 0x7b8], 0xffffffff
add r8d, r11d
mov dword [rbx + 0x79c], r8d
xor r11d, r11d
mov dword [rbx + 0x7a4], r11d
mov edx, dword [rbx + 0x33218]
lea rax, [rdx + 0x19f4]
shl rax, 4
add rax, r12
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdx*2 + 0x34000]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0x3276c]
mov r13d, dword [rbx + rax*4 + 0x3276c]
mov eax, 0xffffffff
add r13d, ecx
mov dword [rbp - 0x61], ecx
cmp r14b, r15b
jne 0x14000664b
lea rax, [rdx + 0x1a03]
shl rax, 4
add rax, r12
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdx*2 + 0x34018]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x3276c]
add edx, dword [rbx + rax*4 + 0x3276c]
mov eax, 0xffffffff
add edx, r13d
cmp edx, r8d
jae 0x14000664b
mov dword [rbx + 0x79c], edx
mov eax, r11d
mov dword [rbx + 0x7b8], r11d
mov r15d, dword [rbp - 0x65]
cmp r15d, esi
mov ecx, r15d
cmovb ecx, esi
mov dword [rsp + 0x20], ecx
cmp ecx, 2
jae 0x14000666c
mov rcx, qword [rbp - 0x41]
mov dword [rcx], eax
jmp 0x1400077fe
mov eax, dword [rbp - 1]
mov edx, ecx
mov dword [rbx + 0x7b4], r11d
mov dword [rbx + 0x78c], eax
mov eax, dword [rbp + 3]
mov dword [rbx + 0x790], eax
mov eax, dword [rbp + 7]
mov dword [rbx + 0x794], eax
mov eax, dword [rbp + 0xb]
mov dword [rbx + 0x798], eax
nop dword [rax]
mov eax, edx
dec edx
lea rcx, [rax + rax*2]
add rcx, rcx
mov dword [rbx + rcx*8 + 0x76c], 0x40000000
cmp edx, 2
jae 0x1400066a0
mov esi, r11d
lea r14, [rbp + 0xf]
mov edi, dword [r14]
cmp edi, 2
jb 0x140006742
mov r8d, dword [rbx + 0x33218]
mov r9d, r10d
mov edx, esi
mov rcx, rbx
call fcn.140005f10
add eax, r13d
imul r9, r12, 0x110
nop dword [rax + rax]
lea edx, [rdi - 2]
mov ecx, edi
add rdx, r9
xor r11d, r11d
mov r8d, dword [rbx + rdx*4 + 0x39130]
lea rdx, [rcx + rcx*2]
add rdx, rdx
add r8d, eax
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x140006736
mov dword [rbx + rdx*8 + 0x76c], r8d
mov dword [rbx + rdx*8 + 0x784], r11d
mov dword [rbx + rdx*8 + 0x788], esi
mov dword [rbx + rdx*8 + 0x774], r11d
dec edi
cmp edi, 2
jae 0x1400066f0
mov r10d, dword [rsp + 0x28]
inc esi
add r14, 4
cmp esi, 4
jb 0x1400066c2
mov r9d, dword [rbp + 0xf]
mov eax, dword [rbx + 0x33218]
mov r14d, dword [rbp - 0x61]
movzx ecx, word [rbx + rax*2 + 0x34000]
shr rcx, 4
add r14d, dword [rbx + rcx*4 + 0x3276c]
cmp r9d, 2
inc r9d
jae 0x140006782
mov r9d, 2
lea r13, [rbx + 0x3296c]
cmp r9d, r15d
ja 0x14000689b
mov edx, r11d
cmp r9d, dword [r13]
jbe 0x1400067aa
nop dword [rax + rax]
add edx, 2
cmp r9d, dword [r13 + rdx*4]
ja 0x1400067a0
mov r15d, dword [rbp - 0x7d]
imul rsi, r12, 0x110
nop word [rax + rax]
lea eax, [rdx + 1]
mov r8d, 3
mov r11d, dword [r13 + rax*4]
lea ecx, [r9 - 2]
mov eax, ecx
mov r10d, r11d
add rax, rsi
mov edi, dword [rbx + rax*4 + 0x348e8]
add edi, r14d
cmp r9d, 5
cmovb r8d, ecx
cmp r11d, 0x80
jae 0x140006806
shl r8, 7
add r8, r11
mov eax, dword [rbx + r8*4 + 0x3361c]
jmp 0x140006844
mov rax, r10
shl r8, 6
mov ecx, 0x7ffff
and r10d, 0xf
sub ecx, r11d
shr ecx, 0x1f
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
movzx eax, byte [rax + rbx + 0x3076c]
lea eax, [rax + rcx*2]
add rax, r8
mov eax, dword [rbx + rax*4 + 0x3321c]
add eax, dword [rbx + r10*4 + 0x33e1c]
lea r8d, [rax + rdi]
mov eax, r9d
lea rcx, [rax + rax*2]
add rcx, rcx
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140006882
mov dword [rbx + rcx*8 + 0x76c], r8d
lea eax, [r11 + 4]
xor r8d, r8d
mov dword [rbx + rcx*8 + 0x788], eax
mov dword [rbx + rcx*8 + 0x784], r8d
mov dword [rbx + rcx*8 + 0x774], r8d
mov eax, edx
cmp r9d, dword [r13 + rax*4]
jne 0x140006893
add edx, 2
cmp edx, r15d
je 0x14000689b
inc r9d
jmp 0x1400067c0
mov esi, 1
mov dword [rsp + 0x24], esi
cmp dword [rsp + 0x20], esi
je 0x1400077e3
lea r15, [0x140000000]
nop word [rax + rax]
mov rcx, qword [rbx + 0x30]
xor edi, edi
mov dword [rsp + 0x28], edi
call qword [rbx + 0x10]
mov rcx, qword [rbx + 0x30]
mov rdx, r13
mov dword [rbx + 0x768], eax
call qword [rbx + 0x20]
mov dword [rbp - 0x61], eax
mov r14d, eax
test eax, eax
je 0x140006956
lea ecx, [rax - 2]
mov edi, dword [rbx + rcx*4 + 0x3296c]
mov dword [rsp + 0x28], edi
cmp edi, dword [rbx + 0x33200]
jne 0x140006956
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x18]
mov r8d, dword [rbx + 0x768]
lea ecx, [r14 - 1]
mov ecx, dword [rbx + rcx*4 + 0x3296c]
lea r9, [rax - 1]
inc ecx
mov eax, 0x111
cmp r8d, eax
mov rdx, r9
cmova r8d, eax
sub rdx, rcx
cmp edi, r8d
jae 0x140006956
lea rcx, [r9 + rdi]
sub rdx, r9
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140006952
inc edi
inc rcx
cmp edi, r8d
jb 0x140006940
mov dword [rsp + 0x28], edi
inc dword [rbx + 0x33204]
cmp edi, dword [rbx + 0x33200]
jae 0x1400077d6
inc dword [rbp - 0x79]
lea rdi, [rbx + 0x76c]
mov eax, esi
lea rcx, [rax + rax*2]
shl rcx, 4
add rdi, rcx
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 0x18]
test r8d, r8d
je 0x1400069ee
dec edx
cmp dword [rdi + 0xc], 0
je 0x1400069d6
mov eax, dword [rdi + 0x10]
lea rcx, [rax + rax*2]
add rcx, rcx
cmp dword [rdi + 0x14], 4
mov eax, dword [rbx + rcx*8 + 0x770]
lea rax, [rax*4]
jae 0x1400069c4
mov eax, dword [rax + r15 + 0x53ed0]
mov ecx, dword [r15 + rax*4 + 0x53e40]
jmp 0x1400069fc
mov eax, dword [rax + r15 + 0x53e70]
mov ecx, dword [r15 + rax*4 + 0x53e40]
jmp 0x1400069fc
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov eax, dword [rbx + rcx*8 + 0x770]
mov ecx, dword [r15 + rax*4 + 0x53e40]
jmp 0x1400069fc
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov ecx, dword [rbx + rcx*8 + 0x770]
lea eax, [rsi - 1]
cmp edx, eax
jne 0x140006a2d
cmp dword [rdi + 0x1c], 0
mov eax, ecx
jne 0x140006a1c
mov r12d, dword [r15 + rax*4 + 0x53ea0]
mov dword [rbp - 0x6d], r12d
jmp 0x140006b03
mov r12d, dword [r15 + rax*4 + 0x53e40]
mov dword [rbp - 0x6d], r12d
jmp 0x140006b03
test r8d, r8d
je 0x140006a4b
cmp dword [rdi + 0xc], 0
je 0x140006a4b
mov edx, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov eax, ecx
mov r12d, dword [r15 + rax*4 + 0x53ed0]
jmp 0x140006a69
mov r9d, dword [rdi + 0x1c]
mov eax, ecx
cmp r9d, 4
jae 0x140006a61
mov r12d, dword [r15 + rax*4 + 0x53ed0]
jmp 0x140006a69
mov r12d, dword [r15 + rax*4 + 0x53e70]
mov eax, edx
lea r10, [rbx + 0x76c]
mov dword [rbp - 0x6d], r12d
lea rcx, [rax + rax*2]
shl rcx, 4
add r10, rcx
cmp r9d, 4
jae 0x140006ae7
mov eax, r9d
mov r8d, 1
mov ecx, dword [r10 + rax*4 + 0x20]
mov dword [rbp - 1], ecx
cmp r9d, r8d
jb 0x140006abe
nop dword [rax]
mov edx, r8d
lea eax, [r8 - 1]
mov eax, dword [r10 + rax*4 + 0x20]
inc r8d
mov dword [rbp + rdx*4 - 1], eax
cmp r8d, r9d
jbe 0x140006aa0
cmp r8d, 4
jae 0x140006b03
mov eax, r8d
lea rdx, [r10 + 0x20]
lea rcx, [rbp - 1]
lea rcx, [rcx + rax*4]
lea rdx, [rdx + rax*4]
mov eax, 4
sub eax, r8d
mov r8d, eax
shl r8, 2
call fcn.1400318c0
jmp 0x140006b03
lea eax, [r9 - 4]
mov dword [rbp - 1], eax
mov eax, dword [r10 + 0x20]
mov dword [rbp + 3], eax
mov eax, dword [r10 + 0x24]
mov dword [rbp + 7], eax
mov eax, dword [r10 + 0x28]
mov dword [rbp + 0xb], eax
mov eax, dword [rbp + 3]
xor esi, esi
mov r14d, dword [rbp - 1]
mov dword [rdi + 4], r12d
mov dword [rdi + 0x24], eax
mov eax, dword [rbp + 7]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp + 0xb]
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x20], r14d
mov rcx, qword [rbx + 0x30]
mov r13d, dword [rdi]
call qword [rbx + 0x18]
movzx r8d, byte [rax - 1]
lea r15d, [r14 + 1]
mov ecx, dword [rbp - 0x79]
and ecx, dword [rbx + 0x33e74]
lea rdx, [rax - 1]
mov dword [rbp - 0x21], ecx
mov qword [rbp - 0x19], rcx
mov rax, rdx
sub rax, r15
mov qword [rbp - 0x49], rdx
movzx edx, byte [rdx - 1]
mov qword [rbp - 0x31], rax
mov byte [rbp - 0x71], r8b
bts r8d, 8
movzx r14d, byte [rax]
mov eax, r12d
add rax, 0x19f4
shl rax, 4
add rax, rcx
mov ecx, 8
sub cl, byte [rbx + 0x33e64]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
lea r10, [rbx + rax*2]
movzx eax, word [rbx + rax*2]
shr rax, 4
mov qword [rbp - 0x29], r10
mov r12d, dword [rbx + rax*4 + 0x3276c]
mov eax, dword [rbp - 0x79]
add r12d, r13d
and eax, dword [rbx + 0x33e70]
shl eax, cl
add edx, eax
mov rax, qword [rbx + 0x33e78]
lea ecx, [rdx + rdx*2]
shl ecx, 8
cmp dword [rbp - 0x6d], 7
lea rdi, [rax + rcx*2]
jb 0x140006c36
movzx r9d, r14b
xor r11d, r11d
mov r10d, 0x100
nop dword [rax + rax]
mov ecx, r8d
add r9d, r9d
shr ecx, 8
mov eax, r10d
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rdi + rcx*2]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
mov eax, r8d
sar rcx, 4
xor eax, r9d
and ecx, 0x7f
not eax
xor rdx, rcx
and r10d, eax
add r11d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x140006be0
mov r10, qword [rbp - 0x29]
jmp 0x140006c7b
xor r9d, r9d
nop dword [rax]
mov ecx, r8d
mov eax, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rax, 8
neg ecx
sar rcx, 4
and ecx, 0x7f
movzx edx, word [rdi + rax*2]
shr rdx, 4
xor rdx, rcx
add r9d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x140006c40
mov r11d, r9d
add r12d, r11d
lea rdx, [rbx + 0x76c]
mov r11d, dword [rsp + 0x24]
lea eax, [r11 + 1]
lea rcx, [rax + rax*2]
mov dword [rbp - 0x65], eax
shl rcx, 4
add rdx, rcx
mov r9d, dword [rdx]
cmp r12d, r9d
jae 0x140006cbd
mov dword [rdx + 8], esi
mov r9d, r12d
mov esi, 1
mov dword [rdx], r12d
mov dword [rdx + 0x18], r11d
mov dword [rdx + 0x1c], 0xffffffff
movzx eax, word [r10]
movzx r10d, byte [rbp - 0x71]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rax*4 + 0x3276c]
mov eax, dword [rbp - 0x6d]
add ecx, r13d
mov r13d, eax
mov dword [rbp - 0x51], ecx
add rax, 0x1a000
lea rax, [rbx + rax*2]
mov qword [rbp + 0xf], rax
movzx eax, word [rax]
xor rax, 0x7f0
shr rax, 4
mov edi, dword [rbx + rax*4 + 0x3276c]
add edi, ecx
mov dword [rbp - 0x5d], edi
cmp r14b, r10b
jne 0x140006d69
cmp dword [rdx + 0x18], r11d
jae 0x140006d1b
cmp dword [rdx + 0x1c], 0
je 0x140006d69
lea rax, [r13 + 0x1a03]
shl rax, 4
add rax, qword [rbp - 0x19]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r13*2 + 0x34018]
shr rcx, 4
shr rax, 4
mov r8d, dword [rbx + rcx*4 + 0x3276c]
add r8d, dword [rbx + rax*4 + 0x3276c]
add r8d, edi
cmp r8d, r9d
ja 0x140006d69
xor eax, eax
mov dword [rdx], r8d
mov dword [rdx + 0x18], r11d
mov dword [rdx + 0x1c], eax
mov dword [rdx + 8], eax
lea esi, [rax + 1]
mov eax, dword [rbx + 0x768]
mov r9d, 0xfff
sub r9d, r11d
cmp r9d, eax
cmovae r9d, eax
mov dword [rbp - 0x39], r9d
cmp r9d, 2
jb 0x1400077a6
mov eax, dword [rbx + 0x33200]
mov edx, r9d
cmp r9d, eax
cmova edx, eax
mov dword [rbp - 0x75], edx
test esi, esi
jne 0x140006f05
cmp r14b, r10b
je 0x140006f05
inc eax
mov edx, r9d
cmp eax, r9d
mov r8d, 1
cmovbe edx, eax
cmp edx, r8d
jbe 0x140006de4
mov rcx, qword [rbp - 0x31]
inc rcx
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rcx + r15], al
jne 0x140006de4
inc r8d
inc rcx
cmp r8d, edx
jb 0x140006dd0
lea r14d, [r8 - 1]
cmp r14d, 2
jb 0x140006f02
mov r9d, dword [rbp - 0x79]
lea rax, [0x140000000]
mov r10d, dword [rax + r13*4 + 0x53e40]
lea esi, [r8 + r11]
mov r8d, dword [rsp + 0x20]
inc r9d
and r9d, dword [rbx + 0x33e74]
mov r15d, r9d
lea rax, [r10 + 0x19f4]
shl rax, 4
add rax, r15
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r10*2 + 0x34000]
xor rcx, 0x7f0
shr rcx, 4
xor rax, 0x7f0
shr rax, 4
mov edi, dword [rbx + rcx*4 + 0x3276c]
add edi, dword [rbx + rax*4 + 0x3276c]
add edi, r12d
cmp r8d, esi
jae 0x140006ea1
lea rcx, [r8 + r8*2]
mov eax, esi
shl rcx, 4
lea rdx, [rbx + 0x76c]
add rdx, rcx
sub eax, r8d
add r8d, eax
mov ecx, eax
mov dword [rsp + 0x20], r8d
nop dword [rax]
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140006e90
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.140005f10
mov r11d, dword [rsp + 0x24]
lea edx, [r14 - 2]
imul rcx, r15, 0x110
add rdx, rcx
add eax, dword [rbx + rdx*4 + 0x39130]
lea rdx, [rsi + rsi*2]
add rdx, rdx
add eax, edi
cmp eax, dword [rbx + rdx*8 + 0x76c]
jae 0x140006f02
mov dword [rbx + rdx*8 + 0x76c], eax
mov eax, dword [rbp - 0x65]
mov dword [rbx + rdx*8 + 0x784], eax
mov dword [rbx + rdx*8 + 0x788], 0
mov qword [rbx + rdx*8 + 0x774], 1
mov edx, dword [rbp - 0x75]
mov rdi, qword [rbp - 0x49]
lea rax, [r13*4]
mov qword [rbp - 0x29], rax
xor r15d, r15d
lea rax, [rbp - 1]
mov dword [rbp - 0x7d], r15d
mov qword [rbp - 0x31], rax
mov r12d, 2
nop word [rax + rax]
mov esi, dword [rax]
mov r14, rdi
inc esi
sub r14, rsi
mov qword [rbp - 0x11], rsi
movzx eax, byte [r14]
cmp byte [rdi], al
jne 0x1400072e3
movzx eax, byte [r14 + 1]
cmp byte [rdi + 1], al
jne 0x1400072e3
mov edi, 2
cmp edx, edi
jbe 0x140006f76
lea rcx, [r14 + 2]
movzx eax, byte [rcx]
cmp byte [rcx + rsi], al
jne 0x140006f76
inc edi
inc rcx
cmp edi, edx
jb 0x140006f65
mov r8d, dword [rsp + 0x20]
lea edx, [rdi + r11]
cmp r8d, edx
jae 0x140006fc1
lea rcx, [r8 + r8*2]
sub edx, r8d
shl rcx, 4
lea rax, [rbx + 0x76c]
add rax, rcx
mov ecx, edx
add r8d, edx
mov dword [rsp + 0x20], r8d
nop dword [rax]
nop word [rax + rax]
mov dword [rax + 0x30], 0x40000000
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x140006fb0
mov r9d, dword [rbp - 0x21]
mov edx, r15d
mov r8d, dword [rbp - 0x6d]
mov rcx, rbx
mov r13d, edi
mov dword [rbp - 0x69], edi
call fcn.140005f10
add eax, dword [rbp - 0x5d]
imul rsi, qword [rbp - 0x19], 0x110
mov r11d, dword [rsp + 0x24]
mov qword [rbp - 9], rsi
mov dword [rbp - 0x59], eax
lea edx, [rdi - 2]
add rdx, rsi
lea ecx, [rdi + r11]
lea rcx, [rcx + rcx*2]
add rcx, rcx
mov r8d, dword [rbx + rdx*4 + 0x39130]
add r8d, eax
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x14000703a
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], r11d
mov dword [rbx + rcx*8 + 0x788], r15d
mov dword [rbx + rcx*8 + 0x774], 0
dec edi
cmp edi, 2
jae 0x140006ff1
mov edx, dword [rbp - 0x39]
lea edi, [r13 + 1]
mov ecx, dword [rbx + 0x33200]
test r15d, r15d
mov rsi, qword [rbp - 0x11]
mov r8d, edi
cmovne r8d, r12d
add ecx, edi
cmp ecx, edx
mov dword [rbp - 0x55], r8d
cmovbe edx, ecx
cmp edi, edx
jae 0x140007081
mov ecx, edi
add rcx, r14
movzx eax, byte [rcx]
cmp byte [rsi + rcx], al
jne 0x140007081
inc edi
inc rcx
cmp edi, edx
jb 0x140007070
mov ecx, dword [rbp - 0x69]
mov eax, 0xffffffff
sub eax, ecx
mov r13d, edi
add edi, eax
mov r12d, r8d
cmp edi, 2
jb 0x1400072df
movzx r11d, byte [r14 + rcx]
lea eax, [rcx - 1]
mov r8, qword [rbp - 0x49]
mov esi, 0x100
mov edx, dword [rbx + 0x33e64]
xor r14d, r14d
mov r9d, dword [rbp - 0x79]
mov r12d, dword [rbx + 0x33e74]
add r9d, ecx
movzx r10d, byte [r8 + rcx]
and r12d, r9d
movzx r8d, byte [rax + r8]
mov ecx, 8
mov eax, dword [rbx + 0x33e70]
sub cl, dl
mov r15, qword [rbx + 0x33e78]
and eax, r9d
shr r8d, cl
or r10d, esi
mov ecx, edx
shl eax, cl
add r8d, eax
lea r8d, [r8 + r8*2]
shl r8d, 8
nop dword [rax]
add r11d, r11d
mov eax, esi
and eax, r11d
mov ecx, r10d
shr ecx, 8
add eax, esi
add eax, ecx
mov ecx, r10d
shr ecx, 7
add rax, r8
and ecx, 1
add r10d, r10d
neg ecx
sar rcx, 4
movzx edx, word [r15 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, r11d
not eax
and esi, eax
add r14d, dword [rbx + rdx*4 + 0x3276c]
cmp r10d, 0x10000
jb 0x140007100
mov rax, qword [rbp - 0x29]
lea r11, [0x140000000]
mov r10d, dword [rbp - 0x69]
mov esi, dword [rsp + 0x24]
add esi, r13d
mov r13d, dword [rsp + 0x20]
mov r8d, dword [rax + r11 + 0x53ed0]
mov eax, r12d
lea rcx, [r8 + 0x19f4]
mov r8d, dword [r11 + r8*4 + 0x53e40]
shl rcx, 4
add rcx, rax
mov eax, dword [rbp - 0x79]
inc eax
movzx edx, word [rbx + rcx*2]
lea ecx, [r10 - 2]
add rcx, qword [rbp - 9]
add r10d, eax
and r10d, dword [rbx + 0x33e74]
lea rax, [r8 + 0x19f4]
shl rax, 4
shr rdx, 4
mov r15d, r10d
add rax, r15
mov r9d, dword [rbx + rdx*4 + 0x3276c]
add r9d, dword [rbx + rcx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
add r9d, r14d
add r9d, dword [rbp - 0x59]
xor rcx, 0x7f0
movzx eax, word [rbx + r8*2 + 0x34000]
shr rcx, 4
xor rax, 0x7f0
shr rax, 4
mov r14d, dword [rbx + rcx*4 + 0x3276c]
add r14d, dword [rbx + rax*4 + 0x3276c]
add r14d, r9d
cmp r13d, esi
jae 0x140007251
lea rcx, [r13*2]
mov eax, esi
add rcx, r13
lea rdx, [rbx + 0x76c]
shl rcx, 4
sub eax, r13d
add rdx, rcx
mov ecx, eax
add r13d, eax
mov dword [rsp + 0x20], r13d
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140007240
mov r9d, r10d
xor edx, edx
mov rcx, rbx
call fcn.140005f10
mov r11d, dword [rsp + 0x24]
lea edx, [rdi - 2]
mov rdi, qword [rbp - 0x49]
imul rcx, r15, 0x110
mov r15d, dword [rbp - 0x7d]
add rdx, rcx
mov ecx, dword [rbp - 0x55]
mov r12d, ecx
add eax, dword [rbx + rdx*4 + 0x39130]
lea rdx, [rsi + rsi*2]
add rdx, rdx
add eax, r14d
cmp eax, dword [rbx + rdx*8 + 0x76c]
jae 0x1400072e8
mov dword [rbx + rdx*8 + 0x76c], eax
mov eax, dword [rbp - 0x69]
add eax, dword [rbp - 0x65]
mov dword [rbx + rdx*8 + 0x784], eax
mov dword [rbx + rdx*8 + 0x788], 0
mov dword [rbx + rdx*8 + 0x774], 1
mov dword [rbx + rdx*8 + 0x778], 1
mov dword [rbx + rdx*8 + 0x77c], r11d
mov dword [rbx + rdx*8 + 0x780], r15d
jmp 0x1400072e8
mov rdi, qword [rbp - 0x49]
mov r13d, dword [rsp + 0x20]
mov rax, qword [rbp - 0x31]
inc r15d
mov edx, dword [rbp - 0x75]
add rax, 4
mov dword [rbp - 0x7d], r15d
mov qword [rbp - 0x31], rax
cmp r15d, 4
jb 0x140006f30
mov ecx, dword [rsp + 0x28]
lea r14, [rbx + 0x3296c]
mov eax, edx
cmp ecx, edx
jbe 0x140007335
mov ecx, edx
xor edx, edx
cmp ecx, dword [r14]
jbe 0x14000732b
add edx, 2
cmp eax, dword [r14 + rdx*4]
ja 0x140007322
mov dword [r14 + rdx*4], eax
add edx, 2
mov dword [rbp - 0x61], edx
cmp ecx, r12d
jb 0x1400077a6
mov rax, qword [rbp + 0xf]
lea edx, [rcx + r11]
mov r9d, dword [rbp - 0x51]
movzx eax, word [rax]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x3276c]
add r9d, eax
mov dword [rbp - 0x5d], r9d
cmp r13d, edx
jae 0x1400073a1
mov eax, r13d
sub edx, r13d
lea rcx, [rax + rax*2]
shl rcx, 4
lea rax, [rbx + 0x76c]
add rax, rcx
mov ecx, edx
add r13d, edx
mov dword [rsp + 0x20], r13d
nop word [rax + rax]
mov dword [rax + 0x30], 0x40000000
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x140007390
xor r8d, r8d
mov dword [rsp + 0x28], r8d
cmp r12d, dword [r14]
jbe 0x1400073bf
nop
add r8d, 2
cmp r12d, dword [r14 + r8*4]
ja 0x1400073b0
mov dword [rsp + 0x28], r8d
imul rdx, qword [rbp - 0x19], 0x110
mov esi, dword [rbp - 0x79]
lea eax, [r8 + 1]
mov r13d, dword [r14 + rax*4]
mov ecx, 0x7ffff
sub ecx, r13d
mov qword [rbp + 0xf], rdx
shr ecx, 0x1f
mov eax, r13d
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
inc r12d
dec r11d
dec esi
mov dword [rbp - 0x7d], r11d
movzx eax, byte [rax + rbx + 0x3076c]
mov dword [rbp - 0x69], esi
lea r10d, [rax + rcx*2]
mov dword [rbp - 0x75], r10d
nop
lea r15d, [r12 - 1]
lea ecx, [r15 - 2]
mov eax, ecx
add rax, rdx
mov edx, r13d
mov eax, dword [rbx + rax*4 + 0x348e8]
add r9d, eax
cmp r15d, 5
mov eax, 3
cmovb eax, ecx
mov ecx, eax
cmp r13d, 0x80
jae 0x140007452
shl rcx, 7
add rcx, rdx
mov eax, dword [rbx + rcx*4 + 0x3361c]
jmp 0x14000746d
shl rcx, 6
and edx, 0xf
mov eax, r10d
add rcx, rax
mov eax, dword [rbx + rcx*4 + 0x3321c]
add eax, dword [rbx + rdx*4 + 0x33e1c]
lea edx, [rax + r9]
lea eax, [r11 + r12]
mov dword [rbp - 0x55], edx
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, rbx
cmp edx, dword [rcx + 0x76c]
jae 0x1400074af
mov eax, dword [rsp + 0x24]
mov dword [rcx + 0x784], eax
lea eax, [r13 + 4]
mov dword [rcx + 0x788], eax
mov dword [rcx + 0x76c], edx
mov dword [rcx + 0x774], 0
cmp r15d, dword [r14 + r8*4]
jne 0x140007792
mov edx, dword [rbp - 0x39]
lea r8d, [r13 + 1]
mov ecx, dword [rbx + 0x33200]
mov r10, rdi
add ecx, r12d
sub r10, r8
cmp ecx, edx
mov edi, r12d
cmovbe edx, ecx
cmp r12d, edx
jae 0x1400074f4
mov ecx, r12d
add rcx, r10
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x1400074f4
inc edi
inc rcx
cmp edi, edx
jb 0x1400074e2
mov eax, 0xffffffff
mov dword [rbp - 0x59], edi
sub eax, r15d
add edi, eax
cmp edi, 2
jb 0x14000772c
mov r8, qword [rbp - 0x49]
lea r9d, [rsi + r12]
movzx r11d, byte [r10 + r15]
mov eax, r9d
and eax, dword [rbx + 0x33e74]
mov ecx, 8
and r9d, dword [rbx + 0x33e70]
mov esi, 0x100
movzx r10d, byte [r15 + r8]
xor r14d, r14d
mov edx, dword [rbx + 0x33e64]
or r10d, esi
sub cl, dl
mov dword [rbp - 0x51], eax
lea eax, [r15 - 1]
movzx r8d, byte [rax + r8]
shr r8d, cl
mov ecx, edx
shl r9d, cl
add r8d, r9d
lea r9d, [r8 + r8*2]
mov r8, qword [rbx + 0x33e78]
shl r9d, 8
nop word [rax + rax]
add r11d, r11d
mov eax, esi
and eax, r11d
mov ecx, r10d
shr ecx, 8
add eax, esi
add eax, ecx
mov ecx, r10d
shr ecx, 7
add rax, r9
and ecx, 1
add r10d, r10d
neg ecx
sar rcx, 4
movzx edx, word [r8 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, r11d
not eax
and esi, eax
add r14d, dword [rbx + rdx*4 + 0x3276c]
cmp r10d, 0x10000
jb 0x140007570
mov rax, qword [rbp - 0x29]
lea r10, [0x140000000]
mov r9d, dword [rbp - 0x51]
mov esi, dword [rsp + 0x24]
add esi, dword [rbp - 0x59]
mov edx, dword [rax + r10 + 0x53e70]
mov r10d, dword [r10 + rdx*4 + 0x53e40]
lea rcx, [rdx + 0x19f4]
shl rcx, 4
add rcx, r9
movzx eax, word [rbx + rcx*2]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x3276c]
lea rax, [r10 + 0x19f4]
add r8d, r14d
shl rax, 4
add r8d, dword [rbp - 0x55]
inc r9d
and r9d, dword [rbx + 0x33e74]
mov r15d, r9d
add rax, r15
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r10*2 + 0x34000]
xor rcx, 0x7f0
shr rcx, 4
xor rax, 0x7f0
shr rax, 4
mov r14d, dword [rbx + rcx*4 + 0x3276c]
add r14d, dword [rbx + rax*4 + 0x3276c]
add r14d, r8d
mov r8d, dword [rsp + 0x20]
cmp r8d, esi
jae 0x1400076a1
lea rcx, [r8 + r8*2]
mov eax, esi
shl rcx, 4
lea rdx, [rbx + 0x76c]
add rdx, rcx
sub eax, r8d
add r8d, eax
mov ecx, eax
mov dword [rsp + 0x20], r8d
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140007690
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.140005f10
mov r11d, dword [rbp - 0x7d]
lea edx, [rdi - 2]
imul rcx, r15, 0x110
add rdx, rcx
add eax, dword [rbx + rdx*4 + 0x39130]
lea rdx, [rsi + rsi*2]
mov esi, dword [rbp - 0x69]
add eax, r14d
add rdx, rdx
lea r14, [rbx + 0x3296c]
cmp eax, dword [rbx + rdx*8 + 0x76c]
jae 0x14000772c
mov ecx, dword [rsp + 0x24]
mov dword [rbx + rdx*8 + 0x76c], eax
mov dword [rbx + rdx*8 + 0x788], 0
mov dword [rbx + rdx*8 + 0x774], 1
lea eax, [r12 + rcx]
mov dword [rbx + rdx*8 + 0x778], 1
mov dword [rbx + rdx*8 + 0x784], eax
lea eax, [r13 + 4]
mov dword [rbx + rdx*8 + 0x780], eax
mov dword [rbx + rdx*8 + 0x77c], ecx
mov r8d, dword [rsp + 0x28]
add r8d, 2
mov dword [rsp + 0x28], r8d
cmp r8d, dword [rbp - 0x61]
je 0x1400077a6
lea eax, [r8 + 1]
mov r13d, dword [r14 + rax*4]
cmp r13d, 0x80
jb 0x14000778e
mov rdx, qword [rbp + 0xf]
mov ecx, 0x7ffff
mov r9d, dword [rbp - 0x5d]
sub ecx, r13d
mov rdi, qword [rbp - 0x49]
mov eax, r13d
shr ecx, 0x1f
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
inc r12d
movzx eax, byte [rax + rbx + 0x3076c]
lea r10d, [rax + rcx*2]
mov dword [rbp - 0x75], r10d
jmp 0x140007410
mov r10d, dword [rbp - 0x75]
mov rdx, qword [rbp + 0xf]
inc r12d
mov r9d, dword [rbp - 0x5d]
mov rdi, qword [rbp - 0x49]
jmp 0x140007410
mov esi, dword [rbp - 0x65]
lea r13, [rbx + 0x3296c]
lea r15, [0x140000000]
mov dword [rsp + 0x24], esi
cmp esi, dword [rsp + 0x20]
jne 0x1400068c0
mov rdx, qword [rbp - 0x41]
mov r8d, esi
mov rcx, rbx
call fcn.140005fe0
jmp 0x140007803
mov dword [rbx + 0x764], r14d
mov dword [rbx + 0x760], edi
mov rdx, qword [rbp - 0x41]
mov r8d, esi
mov rcx, rbx
call fcn.140005fe0
jmp 0x140007803
mov rcx, qword [rbp - 0x41]
mov dword [rcx], 0xffffffff
mov eax, 1
mov r14, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x128]
mov r15, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xe0]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14002fb30
add rsp, 0xf8
pop rbx
pop rbp
ret