Function at 0x14009c360
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0xb0
call fcn.140150d80
sub rsp, rax
mov rax, qword [0x1402274c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x128]
mov r14d, r9d
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x38], r8
mov rbx, rcx
mov qword [rsp + 0x48], rax
lea ebp, [rdx - 1]
test r12, r12
jne 0x14009c3c7
call fcn.14005a4a0
mov r12, rax
test rdi, rdi
mov rcx, r12
cmove rdi, r12
mov qword [rsp + 0x40], rdi
call fcn.14005d290
mov r13d, ebp
movsxd rsi, eax
lea eax, [rsi + rsi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r14d, ecx
jle 0x14009c419
mov edx, 0xa0
lea r9, [0x140206b30]
mov ecx, 4
lea r8d, [rdx - 0x32]
mov dword [rsp + 0x20], Ordinal_60
call fcn.14004cd30
xor eax, eax
jmp 0x14009c6c5
inc eax
cmp ebp, eax
jge 0x14009c448
mov edx, 0xa0
lea r9, [0x140206b48]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0x40
call fcn.14004cd30
xor eax, eax
jmp 0x14009c6c5
movsxd rdx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xa8], r15
lea r15, [rbx + 1]
mov byte [rbx], 0
lea r14, [rbx + 1]
add r15, rsi
xor ebx, ebx
xor r9d, r9d
mov r8, r15
mov qword [rsp + 0x28], rbx
mov rdi, rsi
mov qword [rsp + 0x20], r12
call fcn.140082230
test eax, eax
je 0x14009c510
mov r12d, dword [rsp + 0x30]
lea rcx, [rsi + r15]
xor edx, edx
sub r13d, r12d
dec r13d
movsxd r8, r13d
call fcn.140152f60
mov rdx, qword [rsp + 0x38]
movsxd rax, r12d
movsxd rcx, ebp
mov r8d, r12d
sub rcx, rax
sub rcx, rsi
add rcx, r15
mov byte [rcx - 1], 1
call fcn.140152980
mov edx, esi
mov rcx, r14
call fcn.14005f760
test eax, eax
jle 0x14009c510
sub ebp, esi
lea r8d, [rbx + 0x55]
lea rdx, [0x140206b60]
mov ecx, ebp
call fcn.14004e700
mov r12, rax
test rax, rax
jne 0x14009c517
lea r9, [0x140206b78]
lea ecx, [rbx + 4]
lea r8d, [rbx + 0x41]
mov edx, 0xa0
mov dword [rsp + 0x20], 0x57
call fcn.14004cd30
xor eax, eax
jmp 0x14009c6bd
mov r13, qword [rsp + 0x40]
mov r9d, esi
mov r8, r14
mov edx, ebp
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.14009c1a0
test eax, eax
js 0x14009c510
mov edx, ebx
test ebp, ebp
jle 0x14009c5ad
cmp ebp, 0x20
jb 0x14009c5ad
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea r8, [rcx + r15]
cmp r15, rax
ja 0x14009c558
cmp r8, r12
jae 0x14009c5ad
mov eax, ebp
and eax, 0x8000001f
jge 0x14009c568
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebp
sub r8d, eax
nop
movsxd rax, edx
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rax + r12]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r12]
movdqu xmm0, xmmword [rcx + r15]
pxor xmm1, xmm0
movdqu xmmword [rcx + r15], xmm1
cmp edx, r8d
jl 0x14009c570
movsxd rax, edx
movsxd rdx, ebp
cmp rax, rdx
jge 0x14009c5e1
mov r8, r12
lea rcx, [rax + r15]
sub r8, r15
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x14009c5d0
lea rcx, [rsp + 0x50]
mov r9d, ebp
mov r8, r15
mov edx, esi
mov qword [rsp + 0x20], r13
call fcn.14009c1a0
test eax, eax
js 0x14009c510
test esi, esi
jle 0x14009c67c
cmp esi, 0x20
jb 0x14009c67c
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r14]
cmp r14, rax
ja 0x14009c62a
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x14009c67c
mov eax, esi
and eax, 0x8000001f
jge 0x14009c63a
dec eax
or eax, 0xffffffe0
inc eax
sub esi, eax
nop dword [rax]
movsxd rax, ebx
movdqu xmm0, xmmword [rax + r14]
movdqu xmm1, xmmword [rsp + rax + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rax + r14], xmm1
lea eax, [rbx + 0x10]
add ebx, 0x20
movsxd rcx, eax
movdqu xmm0, xmmword [rcx + r14]
movdqu xmm1, xmmword [rsp + rcx + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rcx + r14], xmm1
cmp ebx, esi
jl 0x14009c640
movsxd rax, ebx
cmp rax, rdi
jge 0x14009c6b0
lea rdx, [rsp + 0x50]
lea rcx, [rax + r14]
sub rdx, r14
sub rdi, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdi
jne 0x14009c6a0
mov rcx, r12
call fcn.14004e660
mov eax, 1
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140150a60
add rsp, 0xb0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret