Function at 0x140001470
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x140001f45
push rbx
push r12
sub rsp, 0x18
mov rax, qword [rcx + 8]
mov r12, r9
mov r10, r8
mov ebx, edx
mov r11, rcx
test rax, rax
je 0x140001f3e
movzx ecx, byte [r8 + 1]
movzx r9d, byte [r8 + 2]
movzx edx, byte [r10 + 0xf]
shl edx, 8
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rdi
movzx edi, byte [r8 + 3]
shl edi, 8
or edi, r9d
mov qword [rsp + 0x10], r13
mov r13d, dword [r11]
shl edi, 8
or edi, ecx
mov qword [rsp + 8], r14
movzx ecx, byte [r8]
lea r14, [0x140000000]
mov qword [rsp], r15
movzx r15d, byte [r8 + 7]
shl r15d, 8
shl edi, 8
or edi, ecx
sar r13d, 1
movzx ecx, byte [r8 + 6]
dec r13d
xor edi, dword [rax]
or r15d, ecx
movzx ecx, byte [r8 + 5]
shl r15d, 8
or r15d, ecx
movzx ecx, byte [r8 + 4]
movzx r8d, byte [r8 + 0xb]
shl r8d, 8
shl r15d, 8
or r15d, ecx
movzx ecx, byte [r10 + 0xa]
xor r15d, dword [rax + 4]
or r8d, ecx
movzx ecx, byte [r10 + 9]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r10 + 8]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r10 + 0xe]
xor r8d, dword [rax + 8]
or edx, ecx
movzx ecx, byte [r10 + 0xd]
shl edx, 8
or edx, ecx
movzx ecx, byte [r10 + 0xc]
shl edx, 8
or edx, ecx
xor edx, dword [rax + 0xc]
add rax, 0x10
test ebx, ebx
jne 0x1400019f9
test r13d, r13d
jle 0x1400017a3
nop
mov esi, edi
mov ebx, r8d
mov ecx, r8d
shr rcx, 0x10
movzx r8d, cl
mov ebp, edx
mov ecx, edx
shr rcx, 8
mov edi, dword [r14 + r8*4 + 0x4b090]
movzx edx, cl
mov ecx, r15d
shr rcx, 0x18
mov r11d, r15d
xor edi, dword [r14 + rdx*4 + 0x4ac90]
shr r11, 0x10
xor edi, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, sil
xor edi, dword [r14 + rcx*4 + 0x4a890]
mov ecx, esi
xor edi, dword [rax]
shr rcx, 8
movzx r8d, cl
mov ecx, ebp
shr rcx, 0x10
movzx edx, cl
mov ecx, ebx
shr rcx, 0x18
mov r10d, dword [r14 + r8*4 + 0x4ac90]
xor r10d, dword [r14 + rdx*4 + 0x4b090]
xor r10d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, r15b
xor r10d, dword [r14 + rcx*4 + 0x4a890]
mov ecx, esi
xor r10d, dword [rax + 4]
shr rcx, 0x10
movzx r8d, cl
shr rsi, 0x18
mov ecx, r15d
shr rcx, 8
mov r9d, dword [r14 + r8*4 + 0x4b090]
movzx edx, cl
mov ecx, ebp
shr rcx, 0x18
xor r9d, dword [r14 + rdx*4 + 0x4ac90]
xor r9d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, bl
movzx edx, r11b
shr rbx, 8
xor r9d, dword [r14 + rcx*4 + 0x4a890]
mov r8d, dword [r14 + rdx*4 + 0x4b090]
xor r9d, dword [rax + 8]
movzx ecx, bl
mov ebx, edi
mov r11d, r9d
mov r9d, r10d
xor r8d, dword [r14 + rcx*4 + 0x4ac90]
xor r8d, dword [r14 + rsi*4 + 0x4b490]
movzx ecx, bpl
xor r8d, dword [r14 + rcx*4 + 0x4a890]
mov ecx, r11d
xor r8d, dword [rax + 0xc]
shr rcx, 0x10
mov esi, r8d
movzx r8d, cl
mov ecx, esi
shr rcx, 8
movzx edx, cl
mov ecx, r10d
mov edi, dword [r14 + r8*4 + 0x4b090]
shr rcx, 0x18
xor edi, dword [r14 + rdx*4 + 0x4ac90]
xor edi, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, bl
xor edi, dword [r14 + rcx*4 + 0x4a890]
mov ecx, ebx
xor edi, dword [rax + 0x10]
shr rcx, 8
movzx r8d, cl
mov ecx, esi
shr rcx, 0x10
movzx edx, cl
mov r15d, dword [r14 + r8*4 + 0x4ac90]
mov ecx, r11d
xor r15d, dword [r14 + rdx*4 + 0x4b090]
dec r13d
shr rcx, 0x18
shr r9, 0x10
xor r15d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, r10b
xor r15d, dword [r14 + rcx*4 + 0x4a890]
mov ecx, ebx
xor r15d, dword [rax + 0x14]
shr rcx, 0x10
movzx r8d, cl
shr rbx, 0x18
mov ecx, r10d
shr rcx, 8
mov r8d, dword [r14 + r8*4 + 0x4b090]
movzx edx, cl
mov ecx, esi
shr rcx, 0x18
xor r8d, dword [r14 + rdx*4 + 0x4ac90]
xor r8d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, r11b
shr r11, 8
movzx edx, r9b
xor r8d, dword [r14 + rcx*4 + 0x4a890]
xor r8d, dword [rax + 0x18]
mov edx, dword [r14 + rdx*4 + 0x4b090]
movzx ecx, r11b
xor edx, dword [r14 + rcx*4 + 0x4ac90]
xor edx, dword [r14 + rbx*4 + 0x4b490]
movzx ecx, sil
xor edx, dword [r14 + rcx*4 + 0x4a890]
xor edx, dword [rax + 0x1c]
add rax, 0x20
test r13d, r13d
jg 0x140001580
mov ebp, edx
mov ebx, r8d
mov ecx, r8d
shr rcx, 0x10
movzx r8d, cl
mov ecx, edx
shr rcx, 8
movzx edx, cl
mov esi, dword [r14 + r8*4 + 0x4b090]
mov ecx, r15d
shr rcx, 0x18
xor esi, dword [r14 + rdx*4 + 0x4ac90]
mov r11d, r15d
shr r11, 0x10
xor esi, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, dil
xor esi, dword [r14 + rcx*4 + 0x4a890]
mov rcx, rdi
xor esi, dword [rax]
shr rcx, 8
movzx r8d, cl
mov ecx, ebp
shr rcx, 0x10
movzx edx, cl
mov ecx, ebx
shr rcx, 0x18
mov r10d, dword [r14 + r8*4 + 0x4ac90]
xor r10d, dword [r14 + rdx*4 + 0x4b090]
xor r10d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, r15b
xor r10d, dword [r14 + rcx*4 + 0x4a890]
mov rcx, rdi
xor r10d, dword [rax + 4]
shr rcx, 0x10
movzx r8d, cl
shr rdi, 0x18
mov ecx, r15d
shr rcx, 8
mov r9d, dword [r14 + r8*4 + 0x4b090]
movzx edx, cl
mov ecx, ebp
shr rcx, 0x18
mov r8d, r10d
xor r9d, dword [r14 + rdx*4 + 0x4ac90]
xor r9d, dword [r14 + rcx*4 + 0x4b490]
movzx ecx, bl
shr rbx, 8
movzx edx, r11b
xor r9d, dword [r14 + rcx*4 + 0x4a890]
xor r9d, dword [rax + 8]
movzx ecx, bl
mov ebx, dword [r14 + rdx*4 + 0x4b090]
mov r11d, r9d
mov r9d, esi
xor ebx, dword [r14 + rcx*4 + 0x4ac90]
xor ebx, dword [r14 + rdi*4 + 0x4b490]
movzx ecx, bpl
xor ebx, dword [r14 + rcx*4 + 0x4a890]
mov ecx, r11d
xor ebx, dword [rax + 0xc]
shr rcx, 0x10
movzx edx, cl
mov ecx, ebx
shr rcx, 8
movzx edi, byte [rdx + r14 + 0x4a790]
movzx edx, cl
shl edi, 8
movzx ecx, byte [rdx + r14 + 0x4a790]
xor edi, ecx
mov ecx, r10d
shr rcx, 0x18
shl edi, 8
movzx ecx, byte [rcx + r14 + 0x4a790]
shl ecx, 0x18
xor edi, ecx
movzx ecx, sil
movzx ecx, byte [rcx + r14 + 0x4a790]
xor edi, ecx
mov ecx, ebx
xor edi, dword [rax + 0x10]
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 8
shr r8, 0x10
movzx esi, byte [rdx + r14 + 0x4a790]
movzx edx, cl
shl esi, 8
movzx ecx, byte [rdx + r14 + 0x4a790]
xor esi, ecx
mov ecx, r11d
shr rcx, 0x18
shl esi, 8
movzx ecx, byte [rcx + r14 + 0x4a790]
shl ecx, 0x18
xor esi, ecx
movzx ecx, r10b
movzx ecx, byte [rcx + r14 + 0x4a790]
xor esi, ecx
mov ecx, r9d
xor esi, dword [rax + 0x14]
shr rcx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 8
shr r9, 0x18
movzx ebp, byte [rdx + r14 + 0x4a790]
movzx edx, cl
shl ebp, 8
movzx ecx, byte [rdx + r14 + 0x4a790]
xor ebp, ecx
mov ecx, ebx
shr rcx, 0x18
shl ebp, 8
movzx ecx, byte [rcx + r14 + 0x4a790]
shl ecx, 0x18
xor ebp, ecx
movzx ecx, r11b
shr r11, 8
movzx ecx, byte [rcx + r14 + 0x4a790]
xor ebp, ecx
movzx ecx, r8b
movzx edx, byte [rcx + r14 + 0x4a790]
shl edx, 8
movzx ecx, r11b
movzx ecx, byte [rcx + r14 + 0x4a790]
xor edx, ecx
movzx ecx, byte [r9 + r14 + 0x4a790]
shl ecx, 0x18
shl edx, 8
xor edx, ecx
movzx ecx, bl
movzx ecx, byte [rcx + r14 + 0x4a790]
jmp 0x140001e96
test r13d, r13d
jle 0x140001c3a
nop dword [rax]
nop word [rax + rax]
mov ebp, r8d
mov r11d, edi
mov esi, edx
mov ecx, r15d
shr rcx, 8
movzx r8d, cl
mov ecx, ebp
shr rcx, 0x10
movzx edx, cl
mov ecx, esi
shr rcx, 0x18
mov edi, dword [r14 + r8*4 + 0x49b90]
mov ebx, r15d
xor edi, dword [r14 + rdx*4 + 0x49f90]
xor edi, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r11b
shr rbx, 0x10
xor edi, dword [r14 + rcx*4 + 0x49790]
mov ecx, ebp
xor edi, dword [rax]
shr rcx, 8
movzx r8d, cl
mov ecx, esi
shr rcx, 0x10
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
mov r10d, dword [r14 + r8*4 + 0x49b90]
xor r10d, dword [r14 + rdx*4 + 0x49f90]
xor r10d, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r15b
xor r10d, dword [r14 + rcx*4 + 0x49790]
mov ecx, r11d
xor r10d, dword [rax + 4]
shr rcx, 0x10
movzx r8d, cl
mov ecx, esi
shr rcx, 8
movzx edx, cl
shr r11, 8
mov r9d, dword [r14 + r8*4 + 0x49f90]
mov ecx, r15d
xor r9d, dword [r14 + rdx*4 + 0x49b90]
shr rcx, 0x18
movzx edx, r11b
mov r11d, r10d
xor r9d, dword [r14 + rcx*4 + 0x4a390]
mov r8d, dword [r14 + rdx*4 + 0x49b90]
movzx ecx, bpl
shr rbp, 0x18
xor r9d, dword [r14 + rcx*4 + 0x49790]
xor r9d, dword [rax + 8]
movzx ecx, bl
mov ebx, r9d
mov r9d, edi
xor r8d, dword [r14 + rcx*4 + 0x49f90]
xor r8d, dword [r14 + rbp*4 + 0x4a390]
movzx ecx, sil
xor r8d, dword [r14 + rcx*4 + 0x49790]
mov ecx, r11d
xor r8d, dword [rax + 0xc]
shr rcx, 8
mov r10d, r8d
movzx r8d, cl
mov ecx, ebx
shr rcx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov edi, dword [r14 + r8*4 + 0x49b90]
xor edi, dword [r14 + rdx*4 + 0x49f90]
xor edi, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r9b
xor edi, dword [r14 + rcx*4 + 0x49790]
mov ecx, r10d
xor edi, dword [rax + 0x10]
shr rcx, 0x10
movzx r8d, cl
mov ecx, ebx
shr rcx, 8
movzx edx, cl
mov r15d, dword [r14 + r8*4 + 0x49f90]
mov ecx, r9d
xor r15d, dword [r14 + rdx*4 + 0x49b90]
dec r13d
shr rcx, 0x18
xor r15d, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r11b
xor r15d, dword [r14 + rcx*4 + 0x49790]
mov ecx, r9d
xor r15d, dword [rax + 0x14]
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
mov r8d, dword [r14 + r8*4 + 0x49f90]
shr r9, 8
xor r8d, dword [r14 + rdx*4 + 0x49b90]
xor r8d, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, bl
shr r11, 0x10
shr rbx, 0x18
movzx edx, r9b
xor r8d, dword [r14 + rcx*4 + 0x49790]
xor r8d, dword [rax + 0x18]
movzx ecx, r11b
mov edx, dword [r14 + rdx*4 + 0x49b90]
xor edx, dword [r14 + rcx*4 + 0x49f90]
xor edx, dword [r14 + rbx*4 + 0x4a390]
movzx ecx, r10b
xor edx, dword [r14 + rcx*4 + 0x49790]
xor edx, dword [rax + 0x1c]
add rax, 0x20
test r13d, r13d
jg 0x140001a10
mov r11d, edi
mov ebp, r8d
mov esi, edx
mov ecx, r15d
shr rcx, 8
movzx r8d, cl
mov ecx, ebp
shr rcx, 0x10
movzx edx, cl
mov ecx, esi
shr rcx, 0x18
mov edi, dword [r14 + r8*4 + 0x49b90]
mov ebx, r15d
xor edi, dword [r14 + rdx*4 + 0x49f90]
xor edi, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r11b
shr rbx, 0x10
xor edi, dword [r14 + rcx*4 + 0x49790]
mov ecx, ebp
xor edi, dword [rax]
shr rcx, 8
movzx r8d, cl
mov ecx, esi
shr rcx, 0x10
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
mov r10d, dword [r14 + r8*4 + 0x49b90]
xor r10d, dword [r14 + rdx*4 + 0x49f90]
xor r10d, dword [r14 + rcx*4 + 0x4a390]
movzx ecx, r15b
xor r10d, dword [r14 + rcx*4 + 0x49790]
mov ecx, r11d
xor r10d, dword [rax + 4]
shr rcx, 0x10
movzx r8d, cl
mov ecx, esi
shr rcx, 8
movzx edx, cl
shr r11, 8
mov r9d, dword [r14 + r8*4 + 0x49f90]
mov ecx, r15d
xor r9d, dword [r14 + rdx*4 + 0x49b90]
shr rcx, 0x18
movzx edx, r11b
xor r9d, dword [r14 + rcx*4 + 0x4a390]
mov r8d, dword [r14 + rdx*4 + 0x49b90]
movzx ecx, bpl
shr rbp, 0x18
xor r9d, dword [r14 + rcx*4 + 0x49790]
xor r9d, dword [rax + 8]
movzx ecx, bl
mov r11d, r9d
mov r9d, r10d
xor r8d, dword [r14 + rcx*4 + 0x49f90]
xor r8d, dword [r14 + rbp*4 + 0x4a390]
movzx ecx, sil
xor r8d, dword [r14 + rcx*4 + 0x49790]
mov ecx, r11d
xor r8d, dword [rax + 0xc]
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 8
mov r10d, r8d
mov r8d, edi
movzx edi, byte [rdx + r14 + 0x49690]
movzx edx, cl
shl edi, 8
movzx ecx, byte [rdx + r14 + 0x49690]
xor edi, ecx
mov ecx, r10d
shr rcx, 0x18
shl edi, 8
movzx ecx, byte [rcx + r14 + 0x49690]
shl ecx, 0x18
xor edi, ecx
movzx ecx, r8b
movzx ecx, byte [rcx + r14 + 0x49690]
xor edi, ecx
xor edi, dword [rax + 0x10]
mov ecx, r10d
shr rcx, 0x10
movzx edx, cl
mov ecx, r11d
shr rcx, 8
movzx esi, byte [rdx + r14 + 0x49690]
movzx edx, cl
shl esi, 8
movzx ecx, byte [rdx + r14 + 0x49690]
xor esi, ecx
mov ecx, r8d
shr rcx, 0x18
shl esi, 8
movzx ecx, byte [rcx + r14 + 0x49690]
shl ecx, 0x18
xor esi, ecx
movzx ecx, r9b
movzx ecx, byte [rcx + r14 + 0x49690]
xor esi, ecx
mov ecx, r8d
xor esi, dword [rax + 0x14]
shr rcx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 8
shr r8, 8
movzx ebp, byte [rdx + r14 + 0x49690]
movzx edx, cl
shl ebp, 8
movzx ecx, byte [rdx + r14 + 0x49690]
xor ebp, ecx
mov ecx, r9d
shr rcx, 0x18
shl ebp, 8
shr r9, 0x10
movzx ecx, byte [rcx + r14 + 0x49690]
shl ecx, 0x18
xor ebp, ecx
movzx ecx, r11b
shr r11, 0x18
movzx ecx, byte [rcx + r14 + 0x49690]
xor ebp, ecx
movzx ecx, r9b
movzx edx, byte [rcx + r14 + 0x49690]
shl edx, 8
movzx ecx, r8b
movzx ecx, byte [rcx + r14 + 0x49690]
xor edx, ecx
movzx ecx, byte [r11 + r14 + 0x49690]
shl ecx, 0x18
shl edx, 8
xor edx, ecx
movzx ecx, r10b
movzx ecx, byte [rcx + r14 + 0x49690]
xor ebp, dword [rax + 0x18]
xor edx, ecx
xor edx, dword [rax + 0x1c]
mov eax, edi
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
shr eax, 8
mov byte [r12 + 1], al
mov eax, edi
shr eax, 0x10
mov byte [r12 + 2], al
mov eax, esi
shr eax, 8
mov byte [r12 + 5], al
mov eax, esi
shr eax, 0x10
mov byte [r12 + 6], al
mov eax, ebp
shr eax, 8
mov byte [r12 + 9], al
mov eax, ebp
shr eax, 0x10
mov byte [r12 + 0xa], al
mov eax, edx
shr eax, 8
mov byte [r12 + 0xd], al
mov eax, edx
mov byte [r12], dil
shr edi, 0x18
mov byte [r12 + 4], sil
shr esi, 0x18
mov byte [r12 + 8], bpl
shr ebp, 0x18
shr eax, 0x10
mov byte [r12 + 0xc], dl
shr edx, 0x18
mov byte [r12 + 3], dil
mov rdi, qword [rsp + 0x40]
mov byte [r12 + 7], sil
mov rsi, qword [rsp + 0x38]
mov byte [r12 + 0xb], bpl
mov rbp, qword [rsp + 0x30]
mov byte [r12 + 0xf], dl
mov byte [r12 + 0xe], al
add rsp, 0x18
pop r12
pop rbx
ret