Function at 0x1401b0d0c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov rax, qword [0x1405fa008]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rax, qword [rcx]
mov r14, rcx
mov r15, r8
mov qword [rsp + 0x40], rdx
mov ecx, dword [rax + 4]
call fcn.1401a416c
xor ebx, ebx
mov esi, eax
mov byte [rbp + 0x1e], bl
mov edi, ebx
test r8, r8
je 0x1401b0f7e
mov eax, dword [r8]
mov dword [rsp + 0x38], eax
cmp qword [rdx], rbx
jne 0x1401b0d72
mov dword [r8], esi
jmp 0x1401b0f8a
cmp dword [r14 + 0x38], ebx
je 0x1401b0f7e
mov eax, dword [r14 + 0x38]
xor edx, edx
div esi
test edx, edx
jne 0x1401b0f7e
lea r8d, [rsi + rsi]
cmp dword [r14 + 0x38], r8d
ja 0x1401b0f7e
lea rcx, [r14 + 0x40]
call fcn.1401b2110
mov edx, r8d
lea rcx, [rbp - 9]
mov r13, rax
call fcn.1401b20c8
mov r12, rax
test rax, rax
jne 0x1401b0dc6
mov edi, 0x8007000e
mov ecx, edi
jmp 0x1401b0f85
mov eax, ebx
mov dword [rsp + 0x30], ebx
cmp dword [r14 + 0x38], ebx
jbe 0x1401b0eef
mov r8d, eax
lea rcx, [rsp + 0x48]
lea rdx, [r14 + 0x10]
mov dword [rsp + 0x34], esi
mov dword [rbp - 0x79], ebx
mov qword [rbp - 0x59], r8
lea rax, [r8 + r12]
mov qword [rsp + 0x48], rax
call fcn.14019c7b8
mov rcx, rdx
mov qword [rbp - 0x39], rax
mov dword [rbp - 0x31], ebx
mov dword [rbp - 0x11], ebx
call fcn.1401b2130
add rax, r8
lea rcx, [rbp - 0x19]
mov qword [rbp - 0x19], rax
call fcn.14019c7b8
mov rcx, qword [r14]
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x61], ebx
mov edx, dword [rcx + 4]
sub edx, 1
je 0x1401b0e6b
cmp edx, 1
jne 0x1401b0f0a
movaps xmm0, xmmword [rbp - 0x39]
lea rax, [rsp + 0x34]
movaps xmm1, xmmword [rbp - 0x69]
lea r8, [rbp - 0x29]
mov qword [rsp + 0x28], rax
mov r9d, esi
lea rax, [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
mov qword [rsp + 0x20], rax
movdqa xmmword [rbp - 0x29], xmm1
call fcn.1401ac7d4
jmp 0x1401b0ea1
movaps xmm0, xmmword [rbp - 0x39]
lea rax, [rsp + 0x34]
movaps xmm1, xmmword [rbp - 0x69]
lea r8, [rbp - 0x49]
mov qword [rsp + 0x28], rax
mov r9d, esi
lea rax, [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, 0x40
mov qword [rsp + 0x20], rax
movdqa xmmword [rbp - 0x49], xmm1
call fcn.1401a199c
mov edi, eax
test eax, eax
js 0x1401b0dbf
test esi, esi
je 0x1401b0ecb
mov edx, dword [rsp + 0x30]
mov r8, rsi
mov al, byte [r13]
inc r13
mov ecx, edx
inc edx
xor byte [rcx + r12], al
sub r8, 1
jne 0x1401b0eb6
lea rcx, [r14 + 0x10]
call fcn.1401b2130
mov r13, rax
mov eax, dword [rsp + 0x30]
add r13, qword [rbp - 0x59]
add eax, esi
mov dword [rsp + 0x30], eax
cmp eax, dword [r14 + 0x38]
jb 0x1401b0dd6
mov edx, dword [r14 + 0x38]
lea eax, [rdx - 1]
movzx r9d, byte [rax + r12]
mov ecx, r9d
cmp r9d, esi
jbe 0x1401b0f14
mov ecx, 0xc004d211
jmp 0x1401b0f83
mov edi, 0xc004d203
jmp 0x1401b0dbf
mov r8d, ebx
test ecx, ecx
je 0x1401b0f30
mov eax, edx
sub eax, r8d
dec eax
cmp byte [rax + r12], r9b
jne 0x1401b0f03
inc r8d
cmp r8d, ecx
jb 0x1401b0f1b
sub edx, ecx
mov dword [r15], edx
mov eax, dword [r14 + 0x38]
sub eax, ecx
cmp dword [rsp + 0x38], eax
jae 0x1401b0f59
mov rsi, qword [rsp + 0x40]
cmp qword [rsi], rbx
jne 0x1401b0f4f
mov edi, ebx
jmp 0x1401b0f8a
mov edi, 0xc004d107
jmp 0x1401b0dbf
test edx, edx
je 0x1401b0f8a
mov rsi, qword [rsp + 0x40]
mov edx, dword [rsi + 8]
mov rcx, qword [rsi]
add edx, ebx
mov eax, ebx
mov r8b, byte [rax + r12]
call fcn.14019ccd0
inc ebx
cmp ebx, dword [r15]
jb 0x1401b0f62
jmp 0x1401b0f8a
mov ecx, 0x80070057
mov edi, ecx
call fcn.14003e600
lea rcx, [rbp - 9]
call fcn.1401b18c0
mov ecx, edi
call fcn.14006a86c
mov eax, edi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14001af10
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret