Function at 0x140009220
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x14004d040]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rsi, rdx
mov qword [rbp - 0x11], rdx
xor edi, edi
lea rcx, [r8 + 0xae0]
call fcn.1400101f0
mov r14, rax
lea rcx, [rax + 0x4e]
call fcn.140010460
test eax, eax
jg 0x1400092bf
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 8
mov r14d, 0xf
mov qword [rsi + 0x18], r14
mov rcx, qword [str.AI___BOT]
mov qword [rsi], rcx
mov byte [rsi + 8], dil
mov rax, rsi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14003d460
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd rbx, eax
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14003d8c0
mov r12, rax
lea rcx, [r14 + 8]
call fcn.1400101f0
mov r14, rdi
test rbx, rbx
jle 0x14000938e
mov r15d, edi
nop dword [rax + rax]
mov rax, qword [0x14004d860]
add rax, 0x113c6b04
mov dword [rbp - 0x11], edi
mov dword [rbp - 5], edi
mov dword [rbp + 0x18], edi
mov word [rbp + 0x1c], di
mov byte [rbp + 0x1e], dil
mov qword [rbp - 1], rax
lea rax, [rbp - 0x11]
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], 4
mov eax, dword [0x14004d888]
mov dword [rbp - 9], eax
mov byte [rbp + 0x17], dil
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, 0x28
lea r8, [rbp - 9]
mov edx, 0x2201c4
mov rcx, qword [0x14004d880]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp - 0x11]
xor eax, 0x9c677cc5
add eax, r15d
xor word [r12 + r14*2], ax
add r15d, 0x21
inc r14
cmp r14, rbx
jl 0x140009300
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rdi
mov qword [rbp - 0x19], rdi
movabs r15, 0x7ffffffffffffffe
cmp rbx, r15
ja 0x1400095fa
movabs r13, 0x7fffffffffffffff
cmp rbx, 7
ja 0x1400093e8
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], 7
add rbx, rbx
mov r8, rbx
mov rdx, r12
lea rcx, [rbp - 0x31]
call sub.VCRUNTIME140.dll_memcpy
mov word [rbp + rbx - 0x31], di
jmp 0x140009486
mov rax, rbx
or rax, 7
cmp rax, r15
jbe 0x1400093fe
lea rcx, [r13*2]
jmp 0x140009426
mov ecx, 0xa
cmp rax, rcx
cmovb rax, rcx
mov r15, rax
lea rcx, [rax + 1]
cmp rcx, r13
ja 0x1400095f4
add rcx, rcx
cmp rcx, 0x1000
jb 0x140009452
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400095f4
mov rcx, rax
call fcn.14003d56c
test rax, rax
je 0x1400095d7
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140009464
test rcx, rcx
je 0x140009461
call fcn.14003d56c
mov r14, rax
jmp 0x140009464
mov r14, rdi
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], r15
add rbx, rbx
mov r8, rbx
mov rdx, r12
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov word [r14 + rbx], di
mov rcx, r12
call fcn.14003d480
lea r8, [rbp - 0x31]
mov rcx, qword [rbp - 0x31]
mov rdx, qword [rbp - 0x19]
mov rax, qword [rbp - 0x21]
cmp rdx, 7
jbe 0x1400094ad
lea r15, [rcx + rax*2]
mov rbx, rcx
jmp 0x1400094b5
lea r15, [r8 + rax*2]
lea rbx, [rbp - 0x31]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov r14d, 0xf
mov qword [rsi + 0x18], r14
cmp rbx, r15
jne 0x1400094d6
mov byte [rsi], 0
jmp 0x1400095a4
sub r15, rbx
sar r15, 1
cmp r15, r13
ja 0x1400095e8
cmp r15, r14
jbe 0x140009565
mov r14, r15
or r14, 0xf
cmp r14, r13
jbe 0x140009522
mov r14, r13
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14003d56c
test rax, rax
je 0x14000954a
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000955e
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x140009551
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400095ee
jmp 0x140009507
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14000955e
call fcn.14003d56c
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x18], r14
mov r8, rsi
cmp r14, 0xf
jbe 0x140009571
mov r8, qword [rsi]
mov rcx, r8
mov rdx, r15
test r15, r15
je 0x140009593
nop dword [rax]
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x140009580
mov qword [rsi + 0x10], r15
mov byte [r8 + r15], 0
mov rdx, qword [rbp - 0x19]
mov rcx, qword [rbp - 0x31]
cmp rdx, 7
jbe 0x140009295
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400095de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400095de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003d480
jmp 0x140009295
call fcn.140001a80
int3
call fcn.1400019e0
nop
call fcn.1400019e0
int3
call fcn.140001a80
int3