Function at 0x1401e4a50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push r13
push r14
push r15
sub rsp, 0x10
mov r13, r8
mov qword [rsp + 0x30], rbx
mov r8d, edx
mov dword [r13 + 0x104], 0x12
shr r8d, 2
mov r14d, 4
mov eax, r14d
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x48], rsi
cmp r8d, eax
mov qword [rsp + 8], rdi
lea r15, [0x140000000]
cmova eax, r8d
add eax, 6
mov dword [r13 + 0x100], eax
movzx eax, byte [rcx + 2]
movzx r10d, byte [rcx + 3]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
mov dword [r13], r10d
movzx eax, byte [rcx + 6]
movzx r11d, byte [rcx + 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 5]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 4]
shl r11d, 8
or r11d, eax
mov dword [r13 + 4], r11d
movzx eax, byte [rcx + 0xa]
movzx ebx, byte [rcx + 0xb]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 9]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 8]
shl ebx, 8
or ebx, eax
mov dword [r13 + 8], ebx
movzx eax, byte [rcx + 0xe]
movzx r9d, byte [rcx + 0xf]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 0xd]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 0xc]
shl r9d, 8
or r9d, eax
mov eax, r14d
cmp r8d, eax
mov dword [r13 + 0xc], r9d
cmova eax, r8d
xor edx, edx
add eax, 6
mov dword [r13 + 0x100], eax
lea eax, [rax*4 + 3]
div r8d
sub r8d, r14d
mov edx, eax
je 0x1401e50d2
dec r8d
mov qword [rsp], r12
je 0x1401e5028
dec r8d
je 0x1401e4f46
dec r8d
je 0x1401e4dec
dec r8d
jne 0x1401e4d46
movzx eax, byte [rcx + 0x12]
movzx ebp, byte [rcx + 0x13]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x11]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x10]
shl ebp, 8
or ebp, eax
mov dword [r13 + 0x10], ebp
movzx eax, byte [rcx + 0x16]
movzx r12d, byte [rcx + 0x17]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x15]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x14]
shl r12d, 8
or r12d, eax
mov dword [r13 + 0x14], r12d
movzx eax, byte [rcx + 0x1a]
movzx r15d, byte [rcx + 0x1b]
shl r15d, 8
or r15d, eax
movzx eax, byte [rcx + 0x19]
shl r15d, 8
or r15d, eax
movzx eax, byte [rcx + 0x18]
shl r15d, 8
or r15d, eax
mov dword [r13 + 0x18], r15d
movzx eax, byte [rcx + 0x1e]
movzx esi, byte [rcx + 0x1f]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x1d]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x1c]
shl esi, 8
or esi, eax
mov dword [r13 + 0x1c], esi
test edx, edx
je 0x1401e4d3f
lea r14, [r13 + 0x24]
lea rdi, [0x140345d80]
mov r13d, edx
nop dword [rax]
mov eax, esi
add r14, 0x20
add rdi, 4
shr eax, 0x18
movzx edx, al
mov eax, esi
shr eax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov r8d, dword [rax + rdx*4 + 0x347600]
lea rdx, [0x140000000]
mov eax, esi
xor r8d, dword [rdx + rcx*4 + 0x347200]
shr eax, 8
movzx ecx, al
movzx eax, sil
xor r8d, dword [rdx + rcx*4 + 0x346e00]
xor r8d, dword [rdx + rax*4 + 0x347a00]
xor r8d, dword [rdi - 4]
xor r10d, r8d
xor r11d, r10d
xor ebx, r11d
xor r9d, ebx
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov r8d, dword [rax + rdx*4 + 0x347a00]
lea rdx, [0x140000000]
mov eax, r9d
xor r8d, dword [rdx + rcx*4 + 0x347600]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [rdx + rcx*4 + 0x347200]
xor r8d, dword [rdx + rax*4 + 0x346e00]
mov dword [r14 - 0x24], r10d
mov dword [r14 - 0x20], r11d
xor ebp, r8d
mov dword [r14 - 0x1c], ebx
mov dword [r14 - 0x18], r9d
xor r12d, ebp
mov dword [r14 - 0x14], ebp
xor r15d, r12d
mov dword [r14 - 0x10], r12d
xor esi, r15d
dec r13
mov dword [r14 - 0xc], r15d
mov dword [r14 - 8], esi
jne 0x1401e4c50
mov r14d, 4
mov r13, qword [rsp + 0x40]
lea r15, [0x140000000]
mov r12, qword [rsp]
mov eax, dword [r13 + 0x100]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
shl eax, 2
cmp eax, 4
jbe 0x1401e4ddc
lea r10, [r13 + 0x10]
nop word [rax + rax]
mov r9d, dword [r10]
inc r14d
add r10, 4
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr r9d, 8
mov r8d, dword [r15 + rdx*4 + 0x34aa00]
shr eax, 0x10
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r15 + rcx*4 + 0x34a600]
xor r8d, dword [r15 + rax*4 + 0x34a200]
movzx eax, byte [r10 - 4]
xor r8d, dword [r15 + rax*4 + 0x349e00]
mov dword [r10 - 4], r8d
mov eax, dword [r13 + 0x100]
shl eax, 2
cmp r14d, eax
jb 0x1401e4d80
mov eax, 1
add rsp, 0x10
pop r15
pop r14
pop r13
ret
movzx eax, byte [rcx + 0x12]
movzx ebp, byte [rcx + 0x13]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x11]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x10]
shl ebp, 8
or ebp, eax
mov dword [r13 + 0x10], ebp
movzx eax, byte [rcx + 0x16]
movzx r12d, byte [rcx + 0x17]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x15]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x14]
shl r12d, 8
or r12d, eax
mov dword [r13 + 0x14], r12d
movzx eax, byte [rcx + 0x1a]
movzx esi, byte [rcx + 0x1b]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x19]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x18]
shl esi, 8
or esi, eax
mov dword [r13 + 0x18], esi
test edx, edx
je 0x1401e4d46
lea r15, [r13 + 0x20]
lea rdi, [0x140345d80]
mov r14, rdx
lea r13, [0x140000000]
nop dword [rax]
mov eax, esi
add r15, 0x1c
add rdi, 4
shr eax, 0x18
movzx edx, al
mov eax, esi
mov r8d, dword [r13 + rdx*4 + 0x347600]
shr eax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r13 + rcx*4 + 0x347200]
shr eax, 8
movzx ecx, al
movzx eax, sil
xor r8d, dword [r13 + rcx*4 + 0x346e00]
xor r8d, dword [r13 + rax*4 + 0x347a00]
xor r8d, dword [rdi - 4]
xor r10d, r8d
xor r11d, r10d
xor ebx, r11d
xor r9d, ebx
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r8d, dword [r13 + rdx*4 + 0x347a00]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r8d, dword [r13 + rcx*4 + 0x347600]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r13 + rcx*4 + 0x347200]
xor r8d, dword [r13 + rax*4 + 0x346e00]
mov dword [r15 - 0x20], r10d
mov dword [r15 - 0x1c], r11d
xor ebp, r8d
mov dword [r15 - 0x18], ebx
mov dword [r15 - 0x14], r9d
xor r12d, ebp
mov dword [r15 - 0x10], ebp
xor esi, r12d
dec r14
mov dword [r15 - 0xc], r12d
mov dword [r15 - 8], esi
jne 0x1401e4e80
jmp 0x1401e4d34
movzx eax, byte [rcx + 0x12]
movzx r12d, byte [rcx + 0x13]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x11]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x10]
shl r12d, 8
or r12d, eax
mov dword [r13 + 0x10], r12d
movzx eax, byte [rcx + 0x16]
movzx esi, byte [rcx + 0x17]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x15]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x14]
shl esi, 8
or esi, eax
mov dword [r13 + 0x14], esi
test edx, edx
je 0x1401e4d46
lea rbp, [r13 + 0x1c]
lea rdi, [0x140345d80]
mov r15, rdx
lea r13, [0x140000000]
mov eax, esi
add rbp, 0x18
shr eax, 0x18
movzx edx, al
mov eax, esi
mov r8d, dword [r13 + rdx*4 + 0x347600]
shr eax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r13 + rcx*4 + 0x347200]
shr eax, 8
movzx ecx, al
movzx eax, sil
xor r8d, dword [r13 + rcx*4 + 0x346e00]
xor r8d, dword [r13 + rax*4 + 0x347a00]
xor r8d, dword [rdi]
add rdi, r14
xor r10d, r8d
xor r11d, r10d
mov dword [rbp - 0x1c], r10d
xor ebx, r11d
mov dword [rbp - 0x18], r11d
xor r9d, ebx
mov dword [rbp - 0x14], ebx
xor r12d, r9d
mov dword [rbp - 0x10], r9d
xor esi, r12d
dec r15
mov dword [rbp - 0xc], r12d
mov dword [rbp - 8], esi
jne 0x1401e4fb0
jmp 0x1401e4d3a
movzx eax, byte [rcx + 0x12]
movzx esi, byte [rcx + 0x13]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x11]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + 0x10]
shl esi, 8
or esi, eax
mov dword [r13 + 0x10], esi
test edx, edx
je 0x1401e4d46
lea rdi, [0x140345d80]
lea rbp, [r13 + 0x18]
mov r12, rdx
mov eax, esi
add rbp, 0x14
shr eax, 0x18
movzx edx, al
mov eax, esi
mov r8d, dword [r15 + rdx*4 + 0x347600]
shr eax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r15 + rcx*4 + 0x347200]
shr eax, 8
movzx ecx, al
movzx eax, sil
xor r8d, dword [r15 + rcx*4 + 0x346e00]
xor r8d, dword [r15 + rax*4 + 0x347a00]
xor r10d, r8d
xor r10d, dword [rdi]
add rdi, r14
xor r11d, r10d
mov dword [rbp - 0x18], r10d
xor ebx, r11d
mov dword [rbp - 0x14], r11d
xor r9d, ebx
mov dword [rbp - 0x10], ebx
xor esi, r9d
dec r12
mov dword [rbp - 0xc], r9d
mov dword [rbp - 8], esi
jne 0x1401e5061
jmp 0x1401e4d46
test eax, eax
je 0x1401e4d4a
lea rdi, [0x140345d80]
lea rsi, [r13 + 0x14]
mov rbp, rdx
nop dword [rax + rax]
mov eax, r9d
add rsi, 0x10
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r8d, dword [r15 + rdx*4 + 0x347600]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r8d, dword [r15 + rcx*4 + 0x347200]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r15 + rcx*4 + 0x346e00]
xor r8d, dword [r15 + rax*4 + 0x347a00]
xor r8d, dword [rdi]
add rdi, r14
xor r10d, r8d
xor r11d, r10d
mov dword [rsi - 0x14], r10d
xor ebx, r11d
mov dword [rsi - 0x10], r11d
xor r9d, ebx
dec rbp
mov dword [rsi - 0xc], ebx
mov dword [rsi - 8], r9d
jne 0x1401e50f0
jmp 0x1401e4d4a