Function at 0x140209e90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rax, qword [rsp + 0xe0]
mov edi, dword [rax]
mov esi, dword [rax + 4]
mov rax, qword [rsp + 0xd0]
mov r14, rdx
mov rbp, r9
mov rdx, qword [rsp + 0xd8]
mov r10d, r8d
mov r9d, dword [rax]
mov ebx, dword [rax + 4]
lea r8d, [r8 - 8]
mov eax, dword [rsp + 0xe8]
mov r12d, dword [rdx]
mov r13d, dword [rdx + 4]
test eax, eax
je 0x14020a070
test r8d, r8d
js 0x14020a380
mov r11d, r8d
mov dword [rsp + 0x2c], esi
shr r11d, 3
mov dword [rsp + 0x48], r8d
lea eax, [r11 + 1]
mov dword [rsp + 0x40], r11d
lea rdx, [rax*8]
mov qword [rsp + 0xb0], rcx
lea rax, [r14 + rdx]
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xb8], r14
mov r15, qword [rsp + 0xb8]
mov r14, rcx
mov qword [rsp + 0x38], rdx
mov edx, r9d
nop
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
add r15, 8
add r14, 8
mov r8d, 1
xor ecx, r12d
xor eax, r13d
xor edx, ecx
mov rcx, qword [rsp + 0x20]
xor eax, ebx
mov dword [rsp + 0x58], edx
mov rdx, rbp
mov dword [rsp + 0x5c], eax
call fcn.14018b490
mov esi, dword [rsp + 0x2c]
xor esi, dword [rsp + 0x5c]
mov eax, esi
mov r11d, esi
mov ebx, esi
mov edx, dword [rsp + 0x58]
shr eax, 0x18
shr r11d, 0x10
movzx esi, bh
movzx eax, al
movzx r11d, r11b
xor edx, edi
shl rax, 8
mov r8d, edx
mov ecx, edx
shr r8d, 0x18
or rax, r11
movzx r11d, bl
shr ecx, 0x10
shl rax, 8
movzx r8d, r8b
movzx ecx, cl
or rax, rsi
shl rax, 8
or rax, r11
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
movzx ecx, dh
shl rax, 8
or rax, rcx
movzx ecx, dl
shl rax, 8
or rax, rcx
mov qword [r15 - 8], rax
cmp qword [rsp + 0x30], r15
jne 0x140209f50
mov r11d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov r9d, edx
mov r10d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
neg r11d
mov esi, dword [rsp + 0x2c]
shl r11d, 3
lea eax, [r10 + r11 - 0x10]
add rcx, rdx
lea r10d, [r11 + r8]
cmp eax, 0xfffffff8
je 0x14020a2c8
movsxd rax, r10d
add rax, rcx
cmp r10d, 7
ja case.0x14020a06a.0
lea rcx, [0x1402e78a0]
mov edx, r10d
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
cmp r10d, 8
jle 0x14020a370
lea eax, [r10 - 9]
mov dword [rsp + 0x4c], r8d
shr eax, 3
mov qword [rsp + 0xb0], rcx
mov r15d, eax
lea eax, [rax + 1]
mov dword [rsp + 0xc0], r10d
lea rdx, [rax*8]
mov dword [rsp + 0x2c], edi
mov rdi, r14
lea rax, [r14 + rdx]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], esi
mov esi, ebx
mov dword [rsp + 0x48], r15d
mov r15, rcx
mov qword [rsp + 0xc8], rbp
mov ebp, r9d
nop dword [rax]
mov ebx, ebp
mov eax, dword [rsp + 0x2c]
mov ebp, dword [r15]
mov r14d, esi
mov esi, dword [r15 + 4]
mov rcx, qword [rsp + 0x20]
xor r8d, r8d
add rdi, 8
xor eax, ebp
mov rdx, qword [rsp + 0xc8]
add r15, 8
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x30]
xor eax, esi
mov dword [rsp + 0x5c], eax
call fcn.14018b490
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
xor ecx, r13d
xor edx, r12d
xor ecx, r14d
xor edx, ebx
mov eax, ecx
mov r14d, ecx
mov ebx, edx
mov r8d, edx
shr eax, 0x18
shr r14d, 0x10
shr ebx, 0x18
movzx eax, al
movzx r14d, r14b
shr r8d, 0x10
shl rax, 8
movzx ebx, bl
movzx r8d, r8b
or rax, r14
mov r10, rax
movzx eax, ch
movzx ecx, cl
mov r14, rax
mov rax, r10
shl rax, 8
or rax, r14
shl rax, 8
or rax, rcx
movzx ecx, dh
shl rax, 8
or rax, rbx
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
movzx ecx, dl
shl rax, 8
mov rdx, rax
or rdx, rcx
mov qword [rdi - 8], rdx
cmp qword [rsp + 0x38], rdi
jne 0x14020a0e0
mov r15d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r9d, ebp
mov ebx, esi
mov r10d, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xb0]
neg r15d
mov edi, dword [rsp + 0x2c]
shl r15d, 3
mov esi, dword [rsp + 0x30]
mov rbp, qword [rsp + 0xc8]
lea eax, [r10 + r15 - 0x10]
add rcx, rdx
lea r10d, [r15 + r8]
mov dword [rsp + 0xc0], r10d
cmp eax, 0xfffffff8
je 0x14020a2c8
mov r14d, dword [rcx]
xor r8d, r8d
mov rdx, rbp
mov dword [rsp + 0x20], r9d
xor edi, r14d
mov dword [rsp + 0x58], edi
mov edi, dword [rcx + 4]
lea rcx, [rsp + 0x58]
xor esi, edi
mov dword [rsp + 0x5c], esi
call fcn.14018b490
mov rax, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x20]
movsxd rcx, dword [rsp + 0xc0]
xor r12d, dword [rsp + 0x58]
xor r13d, dword [rsp + 0x5c]
xor r9d, r12d
mov r10, rcx
add rax, rcx
xor ebx, r13d
mov rcx, rax
cmp r10d, 8
ja case.0x14020a270.0
lea r8, [0x1402e78c0]
mov edx, r10d
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
mov edx, ebx
sub rcx, 1
shr edx, 0x18
mov byte [rax - 1], dl
mov edx, ebx
sub rcx, 1
shr edx, 0x10
mov byte [rcx], dl
mov byte [rcx - 1], bh
lea rdx, [rcx - 1]
mov byte [rdx - 1], bl
lea rcx, [rdx - 1]
mov edx, r9d
lea r8, [rcx - 1]
shr edx, 0x18
mov byte [rcx - 1], dl
mov ecx, r9d
lea rdx, [r8 - 1]
shr ecx, 0x10
mov byte [r8 - 1], cl
mov eax, r9d
lea rcx, [rdx - 1]
mov byte [rdx - 1], ah
mov byte [rcx - 1], r9b
mov ebx, edi
mov r9d, r14d
nop dword [rax]
mov eax, r9d
mov edx, r9d
mov ecx, ebx
mov r8d, r9d
movzx eax, ah
mov r11d, ebx
movzx ebp, bh
shr edx, 0x10
shr r9d, 0x18
mov r10d, eax
shr ecx, 0x10
shr ebx, 0x18
movzx ebx, bl
movzx ecx, cl
movzx eax, bpl
shl rbx, 8
or rbx, rcx
shl rbx, 8
mov rbp, rbx
or rbp, rax
movzx eax, r11b
mov r11, rbp
shl r11, 8
or r11, rax
movzx eax, r9b
mov r9, r11
shl r9, 8
or r9, rax
movzx eax, dl
mov rdx, r9
shl rdx, 8
or rdx, rax
movzx eax, r10b
shl rdx, 8
mov r10, rdx
or r10, rax
movzx eax, r8b
shl r10, 8
mov r8, r10
or r8, rax
mov rax, qword [rsp + 0xd0]
mov qword [rax], r8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x38], r14
mov eax, r8d
jmp 0x14020a1f5
mov qword [rsp + 0x30], r14
mov eax, r8d
jmp 0x14020a040
xor ecx, ecx
movzx edx, byte [rax - 1]
sub rax, 1
shl edx, 8
or edx, ecx
movzx r8d, byte [rax - 1]
lea rcx, [rax - 1]
or r8d, edx
movzx r10d, byte [rcx - 1]
lea rax, [rcx - 1]
shl r10d, 0x18
movzx ecx, byte [rax - 1]
lea rdx, [rax - 1]
shl ecx, 0x10
or ecx, r10d
lea rax, [rdx - 1]
movzx edx, byte [rdx - 1]
shl edx, 8
or edx, ecx
movzx eax, byte [rax - 1]
or eax, edx
xor r9d, r12d
xor ebx, r13d
lea rcx, [rsp + 0x58]
mov rdx, rbp
xor r9d, eax
xor ebx, r8d
mov r8d, 1
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x5c], ebx
call fcn.14018b490
xor edi, dword [rsp + 0x58]
xor esi, dword [rsp + 0x5c]
mov eax, edi
mov ebx, esi
mov r15d, esi
mov r13d, esi
shr eax, 0x10
shr ebx, 0x18
mov r12d, edi
mov r11d, esi
mov dword [rsp + 0x20], eax
shr r15d, 0x10
mov edx, eax
movzx eax, bl
mov ecx, r15d
shl rax, 8
movzx r15d, r15b
movzx esi, sil
shr r13d, 8
or rax, r15
shr r12d, 0x18
mov r14d, edi
mov ebp, r13d
shl rax, 8
movzx r13d, r13b
mov r9d, r12d
or rax, r13
movzx r12d, r12b
shr r14d, 8
mov r8d, edi
shl rax, 8
mov r10d, r14d
or rax, rsi
movzx esi, byte [rsp + 0x20]
shl rax, 8
or rax, r12
shl rax, 8
or rax, rsi
movzx esi, r14b
shl rax, 8
or rax, rsi
movzx esi, dil
shl rax, 8
mov rdi, rax
mov rax, qword [rsp + 0x30]
or rdi, rsi
mov qword [rax], rdi
jmp 0x14020a2ec
xor r8d, r8d
xor edx, edx
jmp 0x14020a3d3
mov rdx, rax
xor r8d, r8d
xor ecx, ecx
jmp 0x14020a3c6
xor r8d, r8d
xor r10d, r10d
jmp 0x14020a3b8
mov rcx, rax
xor r8d, r8d
jmp 0x14020a3ab
xor edx, edx
jmp 0x14020a39f
movzx ecx, byte [rax - 1]
sub rax, 1
shl ecx, 0x10
jmp 0x14020a392
mov rdx, rax
jmp 0x14020a2b2
mov r8, rax
jmp 0x14020a2a4
mov rdx, rax
jmp 0x14020a290
xor r8d, r8d
xor eax, eax
jmp 0x14020a3d9