Function at 0x1400dd7f0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov eax, dword [rcx + 0xb84]
mov r12, r8
mov r8d, dword [rsp + 0xe8]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0xb88]
mov ebp, 7
imul r10, r8, 0x2c
add r10, rcx
mov r13d, r9d
mov r15, rdx
movzx edi, byte [r10 + 0x10ee8]
mov r11d, dword [r10 + 0x10ef8]
mov rbx, rcx
mov dword [rsp + 0x4c], eax
mov esi, r8d
lea r9d, [rbp + 1]
test dil, dil
je 0x1400dd8cb
dec r11d
cmp byte [r10 + 0x10ee9], 0
je 0x1400dd8a5
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x1400dd899
mov edx, 0xb
cmp eax, ebp
cmovl edx, r9d
jmp 0x1400dd8b3
mov edx, 0xa
cmp eax, ebp
cmovl edx, ebp
jmp 0x1400dd8b3
mov eax, r11d
imul rcx, rax, 0x2c
mov edx, dword [rcx + rbx + 0x10ee4]
cmp edx, 3
jg 0x1400dd8bc
xor edx, edx
jmp 0x1400dd8d6
cmp edx, 9
jg 0x1400dd8c6
sub edx, 3
jmp 0x1400dd8d6
sub edx, 6
jmp 0x1400dd8d6
imul rcx, r11, 0x2c
mov edx, dword [rcx + rbx + 0x10ee4]
lea eax, [r8 - 1]
cmp r11d, eax
jne 0x1400dd930
cmp dword [r10 + 0x10efc], 0
jne 0x1400dd903
cmp edx, ebp
mov eax, 0xb
mov ecx, 9
cmovl eax, ecx
mov edx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400dda18
cmp edx, 3
jg 0x1400dd913
xor edx, edx
mov dword [rsp + 0x30], edx
jmp 0x1400dda18
cmp edx, 9
jg 0x1400dd924
sub edx, 3
mov dword [rsp + 0x30], edx
jmp 0x1400dda18
sub edx, 6
mov dword [rsp + 0x30], edx
jmp 0x1400dda18
test dil, dil
je 0x1400dd95a
cmp byte [r10 + 0x10ee9], 0
je 0x1400dd95a
mov r11d, dword [r10 + 0x10eec]
mov ecx, dword [r10 + 0x10ef0]
mov eax, 0xb
cmp edx, ebp
cmovl eax, r9d
jmp 0x1400dd97d
mov ecx, dword [r10 + 0x10efc]
cmp ecx, 4
jae 0x1400dd973
mov eax, 0xb
cmp edx, ebp
cmovl eax, r9d
jmp 0x1400dd97d
mov eax, 0xa
cmp edx, ebp
cmovl eax, ebp
mov edx, eax
mov dword [rsp + 0x30], eax
cmp ecx, 4
jae 0x1400ddbe4
imul rax, r11, 0xb
mov edx, ecx
mov r9d, 1
add rax, rdx
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r15], eax
cmp ecx, r9d
jb 0x1400dd9da
imul r8, r11, 0x2c
lea rcx, [r15 + 4]
lea r9d, [rdx + 1]
sub r8, r15
add r8, rbx
nop dword [rax]
mov eax, dword [r8 + rcx + 0x10efc]
lea rcx, [rcx + 4]
mov dword [rcx - 4], eax
dec rdx
jne 0x1400dd9c0
cmp r9d, 4
jae 0x1400dda14
imul r8, r11, 0x2c
mov eax, r9d
mov edx, 4
lea rcx, [r15 + rax*4]
sub r8, r15
add r8, rbx
sub edx, r9d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + rcx + 0x10f00]
lea rcx, [rcx + 4]
mov dword [rcx - 4], eax
dec rdx
jne 0x1400dda00
mov edx, dword [rsp + 0x30]
mov dword [r10 + 0x10ee4], edx
mov eax, dword [r15]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [r15 + 4]
movsxd rdi, edx
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [r15 + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
lea rax, [rsi + 0x629]
imul rcx, rax, 0x2c
mov eax, dword [r15 + 0xc]
mov dword [rcx + rbx], eax
mov eax, dword [r15]
movzx esi, byte [r12]
movzx r8d, byte [r12 - 1]
mov r14d, dword [r10 + 0x10ef4]
mov rcx, r12
sub rcx, rax
mov eax, dword [rsp + 0xe0]
mov r15, rdi
and eax, dword [rbx + 0xb90]
movzx ebp, byte [rcx - 1]
shl r15, 4
mov ecx, eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x3c], eax
add r15, rcx
cmp edx, 7
mov edx, dword [rsp + 0xe0]
mov qword [rsp + 0x58], rcx
setge r9b
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.1400dd000
movzx ecx, word [rbx + r15*2 + 0x6b9c]
mov r11d, dword [rsp + 0xe8]
add eax, r14d
shr rcx, 4
lea r8, [0x14016a3b0]
xor r9b, r9b
movzx r12d, byte [rcx + r8]
add r12d, eax
lea eax, [r11 + 1]
mov dword [rsp + 0x54], eax
imul rdx, rax, 0x2c
add rdx, rbx
cmp r12d, dword [rdx + 0x10ef4]
jae 0x1400ddb1b
mov dword [rdx + 0x10ef4], r12d
mov dword [rdx + 0x10ef8], r11d
mov byte [rdx + 0x10ee8], r9b
mov r9b, 1
mov dword [rdx + 0x10efc], 0xffffffff
movzx eax, word [rbx + r15*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r8]
lea rax, [rbx + 0x6d1c]
lea rax, [rax + rdi*2]
add ecx, r14d
mov qword [rsp + 0x60], rax
movzx eax, word [rax]
mov dword [rsp + 0x40], ecx
xor rax, 0x7f0
shr rax, 4
movzx r10d, byte [rax + r8]
add r10d, ecx
mov dword [rsp + 0x44], r10d
cmp bpl, sil
jne 0x1400ddbd0
cmp dword [rdx + 0x10ef8], r11d
jae 0x1400ddb7b
cmp dword [rdx + 0x10efc], 0
je 0x1400ddbd0
movzx eax, word [rbx + r15*2 + 0x6d7c]
shr rax, 4
movzx ecx, byte [rax + r8]
movzx eax, word [rbx + rdi*2 + 0x6d34]
shr rax, 4
movzx r8d, byte [rax + r8]
lea eax, [r10 + rcx]
add r8d, eax
cmp r8d, dword [rdx + 0x10ef4]
ja 0x1400ddbd0
mov dword [rdx + 0x10ef4], r8d
mov dword [rdx + 0x10ef8], r11d
mov r9b, 1
mov dword [rdx + 0x10efc], 0
mov byte [rdx + 0x10ee8], 0
mov ecx, dword [rsp + 0xf8]
cmp ecx, 2
jae 0x1400ddc17
mov eax, r13d
jmp 0x1400de713
lea eax, [rcx - 4]
mov dword [r15], eax
mov eax, r11d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r15 + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [r15 + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [r15 + 0xc], eax
jmp 0x1400dda18
mov r14d, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0xd0]
cmp ecx, r14d
mov r15d, r14d
cmovb r15d, ecx
mov dword [rsp + 0x38], r15d
test r9b, r9b
jne 0x1400dddf4
cmp bpl, sil
mov rsi, qword [rsp + 0xc8]
je 0x1400dddfc
mov eax, dword [rsi]
lea edx, [r14 + 1]
mov r9, rdi
sub r9, rax
cmp ecx, edx
cmovb edx, ecx
mov ecx, 1
cmp edx, ecx
jbe 0x1400ddc94
nop word [rax + rax]
mov eax, ecx
mov r8, qword [rax + rdi]
sub r8, qword [rax + r9 - 1]
jne 0x1400ddc86
add ecx, 8
cmp ecx, edx
jb 0x1400ddc70
jmp 0x1400ddc94
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea r8d, [rdx - 1]
cmp r8d, 2
jb 0x1400dddfc
mov eax, dword [rsp + 0x30]
cmp eax, 3
jg 0x1400ddcaf
xor ecx, ecx
jmp 0x1400ddcba
lea ecx, [rax - 3]
cmp eax, 9
jle 0x1400ddcba
lea ecx, [rax - 6]
mov edi, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0xe8]
movsxd r10, ecx
movzx eax, word [rbx + r10*2 + 0x6d1c]
inc edi
lea rbp, [0x14016a3b0]
and edi, dword [rbx + 0xb90]
xor rax, 0x7f0
inc r9d
shr rax, 4
mov rsi, r10
add r9d, r8d
movzx ecx, byte [rax + rbp]
shl rsi, 4
add rsi, rdi
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp]
lea eax, [r12 + rcx]
add r11d, eax
cmp r13d, r9d
jae 0x1400ddd5f
imul rcx, r13, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r9d
sub eax, r13d
add rdx, rcx
add r13d, eax
mov ecx, eax
mov dword [rsp + 0xd8], r13d
nop word [rax + rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400ddd50
imul rax, rdi, 0x110
mov rdi, qword [rsp + 0xd0]
lea ecx, [r8 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov rsi, qword [rsp + 0xc8]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rbp]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rbp]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xe8]
add edx, eax
mov eax, r9d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400dddfc
mov eax, dword [rsp + 0x54]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x1400dddfc
mov rsi, qword [rsp + 0xc8]
xor ebp, ebp
mov dword [rsp + 0x34], 2
mov dword [rsp + 0x48], ebp
nop word [rax + rax]
mov eax, dword [rsi]
mov rsi, rdi
sub rsi, rax
movzx eax, word [rsi - 1]
cmp word [rdi], ax
jne 0x1400de22c
mov eax, 2
cmp r15d, eax
jbe 0x1400dde49
nop
mov ecx, eax
mov rdx, qword [rcx + rdi]
sub rdx, qword [rcx + rsi - 1]
jne 0x1400de0ae
add eax, 8
cmp eax, r15d
jb 0x1400dde30
mov r14d, r15d
lea edi, [r14 + r11]
cmp r13d, edi
jae 0x1400dde8f
mov eax, r13d
imul rdx, rax, 0x2c
mov eax, edi
sub eax, r13d
mov ecx, eax
add rdx, 0x10ef4
add rdx, rbx
add r13d, eax
mov dword [rsp + 0xd8], r13d
nop dword [rax + rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400dde80
mov r12d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
mov edx, ebp
mov r8d, r12d
mov rcx, rbx
call fcn.1400dd100
mov r11d, dword [rsp + 0xe8]
imul r10, qword [rsp + 0x58], 0x110
mov r15d, eax
mov r8d, r11d
add r15d, dword [rsp + 0x44]
neg r8d
nop word [rax + rax]
lea edx, [r8 - 2]
mov eax, edi
add edx, edi
add rdx, r10
imul rcx, rax, 0x2c
mov edx, dword [rbx + rdx*4 + 0xbe4c]
add edx, r15d
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400ddf10
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], r11d
mov dword [rcx + rbx + 0x10efc], ebp
mov byte [rcx + rbx + 0x10ee8], 0
dec edi
lea eax, [r8 + rdi]
cmp eax, 2
jae 0x1400dded0
test ebp, ebp
jne 0x1400ddf27
lea eax, [r14 + 1]
mov dword [rsp + 0x34], eax
mov edx, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0xd0]
lea r9d, [r14 + 1]
add edx, r9d
cmp dword [rsp + 0xf8], edx
cmovb edx, dword [rsp + 0xf8]
cmp r9d, edx
jae 0x1400ddf74
lea r8, [rsi - 1]
mov ecx, r9d
add rcx, rdi
sub r8, rdi
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400ddf74
inc r9d
inc rcx
cmp r9d, edx
jb 0x1400ddf60
or eax, 0xffffffff
sub eax, r14d
add r9d, eax
cmp r9d, 2
jb 0x1400de227
mov r8d, dword [rsp + 0xe0]
cmp r12d, 7
mov ebp, 8
mov eax, r14d
lea ecx, [r14 - 2]
mov r11d, 0xb
cmovl r11d, ebp
add rcx, r10
movzx r10d, byte [rax + rdi]
movzx edi, byte [rax + rsi - 1]
mov r13d, dword [rbx + rcx*4 + 0xbe4c]
mov rax, qword [rsp + 0xd0]
add r8d, r14d
lea ecx, [r14 - 1]
xor esi, esi
movzx edx, byte [rcx + rax]
mov eax, dword [rbx + 0xb98]
mov ecx, ebp
sub cl, byte [rbx + 0xb94]
and eax, r8d
mov r12d, r8d
and r12d, dword [rbx + 0xb90]
shr edx, cl
mov ecx, dword [rbx + 0xb94]
shl eax, cl
mov r8d, 0x100
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
add r10d, r8d
lea rbx, [0x14016a3b0]
nop word [rax + rax]
mov ecx, r10d
add edi, edi
mov eax, r8d
shr ecx, 8
and eax, edi
add eax, r8d
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb9c]
mov ecx, r10d
add r10d, r10d
shr ecx, 7
shr rdx, 4
and ecx, 1
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx]
add esi, eax
mov eax, edi
xor eax, r10d
not eax
and r8d, eax
cmp r10d, 0x10000
jb 0x1400de020
mov rbx, qword [rsp + 0xc0]
mov eax, r12d
movsxd rcx, r11d
shl rcx, 4
lea rbp, [0x14016a3b0]
add rcx, rax
movzx eax, word [rbx + rcx*2 + 0x6b9c]
shr rax, 4
movzx edx, byte [rax + rbp]
add edx, esi
add edx, r13d
add edx, r15d
cmp r11d, 3
jg 0x1400de0c6
xor r11d, r11d
jmp 0x1400de0d6
bsf rcx, rdx
mov r14d, r15d
shr ecx, 3
add eax, ecx
cmp eax, r15d
cmovb r14d, eax
jmp 0x1400dde4c
cmp r11d, 9
jg 0x1400de0d2
sub r11d, 3
jmp 0x1400de0d6
sub r11d, 6
mov r12d, dword [rsp + 0xe0]
mov r8d, dword [rsp + 0xe8]
mov r13d, dword [rsp + 0xd8]
movsxd r10, r11d
lea edi, [r12 + 1]
inc r8d
movzx eax, word [rbx + r10*2 + 0x6d1c]
add edi, r14d
mov rsi, r10
and edi, dword [rbx + 0xb90]
xor rax, 0x7f0
shl rsi, 4
shr rax, 4
add rsi, rdi
movzx ecx, byte [rax + rbp]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp]
lea eax, [rdx + rcx]
add r11d, eax
lea eax, [r9 + r14]
add r8d, eax
cmp r13d, r8d
jae 0x1400de17f
imul rcx, r13, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r8d
sub eax, r13d
add rdx, rcx
add r13d, eax
mov ecx, eax
mov dword [rsp + 0xd8], r13d
nop dword [rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400de170
mov r15d, dword [rsp + 0x38]
imul rax, rdi, 0x110
mov rdi, qword [rsp + 0xd0]
lea ecx, [r9 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rbp]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rbp]
mov ebp, dword [rsp + 0x48]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xe8]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400de234
mov eax, dword [rsp + 0x54]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
add eax, r14d
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], r11d
mov dword [rcx + rbx + 0x10ef8], eax
mov dword [rcx + rbx + 0x10ef0], ebp
jmp 0x1400de234
mov r15d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0xe0]
mov rsi, qword [rsp + 0xc8]
inc ebp
add rsi, 4
mov dword [rsp + 0x48], ebp
mov qword [rsp + 0xc8], rsi
cmp ebp, 4
jb 0x1400dde10
mov edx, dword [rsp + 0x4c]
cmp edx, r15d
jbe 0x1400de28a
xor ecx, ecx
mov edx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x1400de27c
nop
inc ecx
cmp r15d, dword [rbx + rcx*8 + 0x2f4]
ja 0x1400de270
mov dword [rbx + rcx*8 + 0x2f4], r15d
inc ecx
mov dword [rsp + 0x50], ecx
mov r8d, dword [rsp + 0x34]
cmp edx, r8d
jb 0x1400de70c
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xe8]
lea r11, [0x14016a3b0]
movzx eax, word [rax]
add edx, ecx
shr rax, 4
movzx r11d, byte [rax + r11]
add r11d, dword [rsp + 0x40]
mov dword [rsp + 0xc8], r11d
cmp r13d, edx
jae 0x1400de306
mov eax, r13d
sub edx, r13d
mov ecx, edx
imul rax, rax, 0x2c
add rax, 0x10ef4
add rax, rbx
add r13d, edx
mov dword [rsp + 0xd8], r13d
nop dword [rax + rax]
lea rax, [rax + 0x2c]
mov dword [rax], 0x40000000
dec rcx
jne 0x1400de2f0
mov ecx, dword [rsp + 0xe8]
xor r15d, r15d
cmp r8d, dword [rbx + 0x2f4]
jbe 0x1400de31f
inc r15d
cmp r8d, dword [rbx + r15*8 + 0x2f4]
ja 0x1400de312
imul rdi, qword [rsp + 0x58], 0x110
mov esi, dword [rsp + 0xf0]
sub r12d, ecx
sub esi, ecx
mov eax, 1
lea r13d, [r8 + rcx]
sub eax, ecx
inc esi
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x40], eax
mov eax, ecx
mov dword [rsp + 0x34], esi
neg eax
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0x3c], eax
nop
mov r12d, dword [rbx + r15*8 + 0x2f8]
lea r14d, [rax + r13]
mov dword [rsp + 0x4c], r12d
lea r9d, [r14 - 2]
cmp r14d, 6
jb 0x1400de381
mov r9d, 3
mov r8, r12
cmp r12d, 0x80
jae 0x1400de3a0
mov eax, r9d
shl rax, 7
add rax, r12
mov edx, dword [rbx + rax*4 + 0x10690]
jmp 0x1400de3d0
bsr edx, r12d
mov eax, r12d
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea ecx, [rax + rdx*2]
mov eax, r9d
shl rax, 6
add rcx, rax
mov rax, r12
mov edx, dword [rbx + rcx*4 + 0x10290]
and eax, 0xf
add edx, dword [rbx + rax*4 + 0x10e98]
lea ecx, [r14 - 2]
mov eax, r13d
add rcx, rdi
mov ebp, dword [rbx + rcx*4 + 0x7604]
imul rcx, rax, 0x2c
add ebp, edx
add ebp, r11d
cmp ebp, dword [rcx + rbx + 0x10ef4]
jae 0x1400de41c
mov eax, dword [rsp + 0xe8]
mov dword [rcx + rbx + 0x10ef4], ebp
mov byte [rcx + rbx + 0x10ee8], 0
mov dword [rcx + rbx + 0x10ef8], eax
lea eax, [r12 + 4]
mov dword [rcx + rbx + 0x10efc], eax
cmp r14d, dword [rbx + r15*8 + 0x2f4]
jne 0x1400de700
mov r10, qword [rsp + 0xd0]
mov r9d, dword [rsp + 0x40]
lea edx, [rsi + r13]
add r9d, r13d
mov rdi, r10
sub rdi, r8
cmp dword [rsp + 0xf8], edx
cmovb edx, dword [rsp + 0xf8]
cmp r9d, edx
jae 0x1400de479
lea r8, [rdi - 1]
mov ecx, r9d
add rcx, r10
sub r8, r10
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400de479
inc r9d
inc rcx
cmp r9d, edx
jb 0x1400de465
or eax, 0xffffffff
sub eax, r14d
add r9d, eax
cmp r9d, 2
jb 0x1400de6f1
cmp dword [rsp + 0x30], 7
mov r8d, dword [rsp + 0xe0]
movzx r10d, byte [r14 + r10]
movzx edi, byte [r14 + rdi - 1]
mov eax, 7
lea ecx, [r14 - 1]
mov r11d, 0xa
lea r12, [0x14016a3b0]
cmovl r11d, eax
mov eax, dword [rbx + 0xb90]
add r8d, r13d
and eax, r8d
add rbx, 0xb9c
xor esi, esi
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd0]
movzx edx, byte [rcx + rax]
mov eax, dword [rbx - 4]
mov ecx, 8
sub cl, byte [rbx - 8]
and eax, r8d
mov r8d, 0x100
shr edx, cl
mov ecx, dword [rbx - 8]
shl eax, cl
add edx, eax
lea rax, [rdx + rdx*2]
shl rax, 9
add rax, rbx
add r10d, r8d
mov rbx, rax
mov ecx, r10d
add edi, edi
mov eax, r8d
shr ecx, 8
and eax, edi
add eax, r8d
add ecx, eax
movzx edx, word [rbx + rcx*2]
mov ecx, r10d
add r10d, r10d
shr ecx, 7
shr rdx, 4
and ecx, 1
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + r12]
add esi, eax
mov eax, edi
xor eax, r10d
not eax
and r8d, eax
cmp r10d, 0x10000
jb 0x1400de511
mov r8d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0x4c]
movsxd rcx, r11d
shl rcx, 4
add rcx, r8
movzx eax, word [rbx + rcx*2 + 0x6b9c]
lea rcx, [0x14016a3b0]
shr rax, 4
movzx edx, byte [rax + rcx]
add edx, esi
add edx, ebp
cmp r11d, 3
jg 0x1400de59f
xor r11d, r11d
jmp 0x1400de5af
cmp r11d, 9
jg 0x1400de5ab
sub r11d, 3
jmp 0x1400de5af
sub r11d, 6
mov ebp, dword [rsp + 0xd8]
movsxd r10, r11d
lea edi, [r8 + 1]
and edi, dword [rbx + 0xb90]
movzx eax, word [rbx + r10*2 + 0x6d1c]
mov rsi, r10
xor rax, 0x7f0
shl rsi, 4
lea r11, [0x14016a3b0]
shr rax, 4
add rsi, rdi
movzx ecx, byte [rax + rcx]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r11]
lea eax, [rdx + rcx]
add r11d, eax
lea eax, [r14 + r9]
mov r14d, dword [rsp + 0xe8]
lea r8d, [r14 + 1]
add r8d, eax
cmp ebp, r8d
jae 0x1400de64f
imul rcx, rbp, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r8d
sub eax, ebp
add rdx, rcx
add ebp, eax
mov ecx, eax
mov dword [rsp + 0xd8], ebp
nop
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400de640
imul rax, rdi, 0x110
lea rdx, [0x14016a3b0]
lea ecx, [r9 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov esi, dword [rsp + 0x34]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rdx]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdx]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xc8]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400de6f1
lea eax, [r13 + 1]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
lea eax, [r12 + 4]
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10ef0], eax
mov dword [rcx + rbx + 0x10eec], r14d
inc r15d
cmp r15d, dword [rsp + 0x50]
je 0x1400de70c
mov rdi, qword [rsp + 0x58]
mov eax, dword [rsp + 0x3c]
inc r13d
jmp 0x1400de360
mov eax, dword [rsp + 0xd8]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret