Function at 0x1400119a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rcx, rdx
mov r13, r9
movsxd rdx, r8d
lea r8, [r9 + 0x200000]
call fcn.14000df40
mov edx, 1
lea ecx, [rdx + 0x1f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rdi, rax
test rax, rax
je 0x140011a20
call fcn.1400114f0
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov eax, 0xfffe
mov qword [rdi], 0
and word [rdi + 8], ax
xor ebx, ebx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov byte [rdi + rbx + 0xa], al
inc rbx
cmp rbx, 0x10
jb 0x140011a08
or word [rdi + 8], 2
movups xmm0, xmmword [r13 + 0x200040]
lea rbx, [r13 + 0x2000c8]
mov rcx, rdi
movups xmm1, xmmword [r13 + 0x200050]
lea r15, [r13 + 0x200178]
movups xmmword [rbx], xmm0
lea rdx, [r13 + 0x200000]
mov qword [r15], rdi
movups xmm0, xmmword [r13 + 0x200060]
movups xmmword [rbx + 0x10], xmm1
movups xmm1, xmmword [r13 + 0x200070]
movups xmmword [rbx + 0x20], xmm0
movups xmm0, xmmword [r13 + 0x200080]
movups xmmword [rbx + 0x30], xmm1
movups xmm1, xmmword [r13 + 0x200090]
movups xmmword [rbx + 0x40], xmm0
movups xmm0, xmmword [r13 + 0x2000a0]
movups xmmword [rbx + 0x50], xmm1
movups xmm1, xmmword [r13 + 0x2000b0]
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm1
call fcn.140011850
lea rax, [r13 + 0x200128]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x48], rax
lea r12, [r13 + 0x2000d8]
lea rax, [r13 + 0x200138]
mov qword [rsp + 0x20], r12
lea rdi, [r13 + 0x2000e8]
mov qword [rsp + 0x50], rax
lea rsi, [r13 + 0x2000f8]
mov qword [rsp + 0x28], rdi
lea rbp, [r13 + 0x200108]
mov qword [rsp + 0x30], rsi
lea r14, [r13 + 0x200118]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], r14
nop
mov rax, qword [r15]
mov rcx, rbx
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
mov rcx, r12
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
mov rcx, rdi
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
mov rcx, rsi
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
mov rcx, rbp
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
mov rcx, r14
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
lea rcx, [r13 + 0x200128]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [r15]
lea rcx, [r13 + 0x200138]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rsp + 0xb0]
movups xmm0, xmmword [rbx]
movups xmmword [rax + r13], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + r13 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + r13 + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rax + r13 + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rax + r13 + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rax + r13 + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rax + r13 + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [rax + r13 + 0x70], xmm1
sub rax, 0xffffffffffffff80
mov qword [rsp + 0xb0], rax
cmp rax, 0x200000
jb 0x140011b00
mov rax, qword [r13 + 0x200020]
lea r15, [r13 + 0x200148]
xor rax, qword [r13 + 0x200000]
lea rbx, [r13 + 0x200158]
mov qword [r15], rax
lea r12, [r13 + 0x200168]
mov rax, qword [r13 + 0x200028]
xor rax, qword [r13 + 0x200008]
mov qword [r15 + 8], rax
mov rax, qword [r13 + 0x200030]
xor rax, qword [r13 + 0x200010]
mov qword [rbx], rax
mov rax, qword [r13 + 0x200018]
xor rax, qword [r13 + 0x200038]
mov qword [rbx + 8], rax
mov qword [rsp + 0xb0], 0x40000
nop dword [rax]
mov edi, dword [r15]
mov r8, r15
shr rdi, 4
mov rdx, r12
and edi, 0x1ffff
shl rdi, 4
add rdi, r13
mov rcx, rdi
call fcn.140009530
mov rax, qword [rbx]
xor r9d, r9d
xor rax, qword [r12]
mov qword [rdi], rax
mov rax, qword [rbx + 8]
xor rax, qword [r12 + 8]
mov qword [rdi + 8], rax
mov rax, qword [r12]
mov r11, qword [r15 + 8]
mov r14, rax
shr r14, 4
mov rsi, rax
mov eax, eax
and r14d, 0x1ffff
shr rsi, 0x20
shl r14, 4
add r14, r13
mov rbp, qword [r14]
mov rdi, rbp
mov edx, ebp
shr rdi, 0x20
mov r10, rdi
mov r8d, ebp
imul r10, rax
imul r8, rax
imul rdx, rsi
add r10, rdx
mov rcx, r10
shl rcx, 0x20
add rcx, r8
add r11, rcx
cmp r10, rdx
mov rdx, rbx
setb r9b
shl r9, 0x20
cmp rcx, r8
mov r8, r15
adc r9, 0
shr r10, 0x20
imul rdi, rsi
add r9, rdi
add r9, r10
add r9, qword [r15]
xor rbp, r9
mov qword [r15], rbp
mov rax, qword [r14 + 8]
xor rax, r11
mov qword [r15 + 8], rax
mov qword [r14], r9
mov qword [r14 + 8], r11
mov edi, dword [r15]
shr rdi, 4
and edi, 0x1ffff
shl rdi, 4
add rdi, r13
mov rcx, rdi
call fcn.140009530
mov rax, qword [r12]
xor rax, qword [rbx]
mov qword [rdi], rax
mov rax, qword [rbx + 8]
xor rax, qword [r12 + 8]
mov qword [rdi + 8], rax
mov rax, qword [rbx]
mov r14, rax
mov rsi, rax
shr r14, 4
and r14d, 0x1ffff
shl r14, 4
add r14, r13
shr rsi, 0x20
mov rbp, qword [r14]
mov r11, qword [r15 + 8]
xor r9d, r9d
mov eax, eax
mov rdi, rbp
shr rdi, 0x20
mov r10, rdi
mov edx, ebp
imul r10, rax
imul rdx, rsi
mov r8d, ebp
imul r8, rax
add r10, rdx
mov rcx, r10
shl rcx, 0x20
add rcx, r8
add r11, rcx
cmp r10, rdx
setb r9b
shl r9, 0x20
cmp rcx, r8
adc r9, 0
shr r10, 0x20
imul rdi, rsi
add r9, rdi
add r9, r10
add r9, qword [r15]
xor rbp, r9
mov qword [r15], rbp
mov rax, qword [r14 + 8]
xor rax, r11
sub qword [rsp + 0xb0], 1
mov qword [r15 + 8], rax
mov qword [r14], r9
mov qword [r14 + 8], r11
jne 0x140011c70
movups xmm0, xmmword [r13 + 0x200040]
lea rbx, [r13 + 0x2000c8]
movups xmm1, xmmword [r13 + 0x200050]
lea r15, [r13 + 0x200178]
mov rcx, qword [r15]
lea rdx, [r13 + 0x200020]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [r13 + 0x200060]
movups xmmword [rbx + 0x10], xmm1
movups xmm1, xmmword [r13 + 0x200070]
movups xmmword [rbx + 0x20], xmm0
movups xmm0, xmmword [r13 + 0x200080]
movups xmmword [rbx + 0x30], xmm1
movups xmm1, xmmword [r13 + 0x200090]
movups xmmword [rbx + 0x40], xmm0
movups xmm0, xmmword [r13 + 0x2000a0]
movups xmmword [rbx + 0x50], xmm1
movups xmm1, xmmword [r13 + 0x2000b0]
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm1
call fcn.140011850
mov r12, qword [rsp + 0x20]
lea rdi, [r13 + 0x18]
mov r13, qword [rsp + 0x28]
mov esi, 0x4000
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi - 0x18]
mov rcx, rbx
xor qword [rbx], rax
mov rax, qword [rdi - 0x10]
xor qword [rbx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi - 8]
mov rcx, r12
xor qword [r12], rax
mov rax, qword [rdi]
xor qword [r12 + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 8]
mov rcx, r13
xor qword [r13], rax
mov rax, qword [rdi + 0x10]
xor qword [r13 + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x30]
xor qword [rcx], rax
mov rax, qword [rdi + 0x20]
xor qword [rcx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 0x28]
mov rcx, qword [rsp + 0x38]
xor qword [rcx], rax
mov rax, qword [rdi + 0x30]
xor qword [rcx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 0x38]
mov rcx, qword [rsp + 0x40]
xor qword [rcx], rax
mov rax, qword [rdi + 0x40]
xor qword [rcx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 0x48]
mov rcx, qword [rsp + 0x48]
xor qword [rcx], rax
mov rax, qword [rdi + 0x50]
xor qword [rcx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
mov rax, qword [rdi + 0x58]
mov rcx, qword [rsp + 0x50]
xor qword [rcx], rax
mov rax, qword [rdi + 0x60]
xor qword [rcx + 8], rax
mov rax, qword [r15]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x18]
call fcn.140009620
lea rdi, [rdi + 0x80]
sub rsi, 1
jne 0x140011eb0
mov r13, qword [rsp + 0xb8]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
lea rcx, [r13 + 0x200000]
movups xmmword [r13 + 0x200040], xmm0
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r13 + 0x200050], xmm1
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [r13 + 0x200060], xmm0
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r13 + 0x200070], xmm1
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [r13 + 0x200080], xmm0
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [r13 + 0x200090], xmm1
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [r13 + 0x2000a0], xmm0
movups xmmword [r13 + 0x2000b0], xmm1
call fcn.14000dd20
movzx eax, byte [r13 + 0x200000]
lea r9, [0x1400731f0]
mov r8, qword [rsp + 0xa0]
lea rcx, [r13 + 0x200000]
and eax, 3
mov edx, reloc.WLDAP32.dll_Ordinal_200
call qword [r9 + rax*8]
test r15, r15
je 0x140012099
mov rcx, qword [r15]
test rcx, rcx
je 0x140012099
cmp qword [rcx], rsi
je 0x140012089
call fcn.140011590
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r15], 0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret