Function at 0x180001a90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov r12, rcx
cmp byte [0x18004ec0a], 0
jne 0x180001b9b
mov rax, qword [0x18004d4a0]
movabs rcx, 0x1ebfff89eed7ad05
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad17
xor cl, byte [rax + rdx]
mov byte [0x18004ec04], cl
movabs rcx, 0x1ebfff89eed7ad06
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad18
xor cl, byte [rax + rdx]
mov byte [0x18004ec05], cl
movabs rcx, 0x1ebfff89eed7ad07
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad19
xor cl, byte [rax + rdx]
mov byte [0x18004ec06], cl
movabs rcx, 0x1ebfff89eed7ad08
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad1a
xor cl, byte [rax + rdx]
mov byte [0x18004ec07], cl
movabs rcx, 0x1ebfff89eed7ad09
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad1b
xor cl, byte [rax + rdx]
mov byte [0x18004ec08], cl
movabs rcx, 0x1ebfff89eed7ad0a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x1ebfff89eed7ad1c
xor cl, byte [rax + rdx]
mov byte [0x18004ec09], cl
mov byte [0x18004ec0a], 1
movabs rax, 0x1ebfff89eed7ab6e
mov rdi, qword [0x18004d4a8]
add rdi, rax
xorps xmm6, xmm6
movaps xmmword [rbp - 0x60], xmm6
movaps xmmword [rbp - 0x50], xmm6
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x60], rcx
mov rdx, rdi
mov r8, rax
call fcn.180013420
lea rdi, [rbp - 0x40]
movabs rcx, 0x1ebfff89eed7ad35
add rcx, qword [0x18004d4a0]
call fcn.180034cf0
mov rbx, qword [0x18004d4b0]
movabs rax, 0x1ebfff89eed7ab6e
add rbx, rax
movaps xmmword [rbp - 0x40], xmm6
movaps xmmword [rbp - 0x30], xmm6
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x60], rdi
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180013420
lea rdi, [rbp - 0x20]
cmp byte [0x18004ec17], 0
jne 0x180001d15
mov rdx, qword [0x18004d4a0]
movabs rax, 0x1ebfff89eed7ad69
add rax, rdx
movabs rcx, 0x1ebfff89eed7ad86
add rcx, rdx
xor edx, edx
lea r8, [0x18004ec12]
movzx r9d, byte [rcx + rdx]
movzx r11d, byte [rax + rdx]
mov r14d, r11d
not r14b
mov r10d, r11d
xor r10b, 0x40
and r10b, r14b
mov ebx, r11d
and bl, 0x37
mov esi, r11d
and sil, 0x40
and r14b, 0x88
or sil, r14b
xor r14b, 0xa9
and r10b, 0xc8
or r10b, r14b
mov r14d, r11d
xor r14b, 0x33
and r14b, bl
and r11b, 0x33
xor r11b, r14b
lea r14d, [rsi + 0x12]
xor r14b, bl
xor r14b, 0x52
or sil, bl
xor sil, 0xbf
or sil, r14b
xor r10b, r11b
xor r10b, 0x56
mov ebx, r10d
and bl, 0xfd
and r11b, 2
or r11b, bl
xor r11b, sil
xor r11b, 2
or r10b, sil
not r10b
or r10b, r11b
mov r11d, r9d
xor r11b, 0x37
xor r9b, r10b
xor r9b, 0xc8
and r9b, r10b
or r11b, r10b
not r11b
or r11b, r9b
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 5
jne 0x180001c60
mov byte [0x18004ec17], 1
mov rbx, qword [0x18004d4b8]
movabs rax, 0x1ebfff89eed7ab6e
add rbx, rax
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x60], rdi
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180013420
lea rdi, [rbp]
cmp byte [0x18004ec1c], 0
jne 0x180001e3a
mov rdx, qword [0x18004d4a0]
movabs rax, 0x1ebfff89eed7ada9
add rax, rdx
movabs rcx, 0x1ebfff89eed7adbd
add rcx, rdx
xor edx, edx
lea r8, [0x18004ec18]
nop dword [rax + rax]
movzx ebx, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov esi, ebx
xor sil, 0x20
and sil, bl
mov r9d, r10d
xor r9b, 0xdb
mov r14d, r9d
and r14b, 0x68
xor r14b, 0x48
mov r11d, r9d
and r11b, 0x94
and r9b, 0x6b
xor r9b, 0x23
or r9b, r14b
or r11b, r9b
xor r11b, 0x6f
and r10b, 0x68
mov r14d, esi
xor r14b, bl
and sil, 0x48
and r14b, 0x20
mov r15d, ebx
and r15b, 0x97
or r15b, sil
or r15b, r14b
mov esi, ebx
xor sil, 0x68
xor bl, 0x97
or bl, sil
xor r15b, 0x68
mov esi, r15d
xor sil, bl
or r15b, bl
not r15b
or r15b, sil
mov ebx, r9d
not bl
and bl, r10b
xor bl, r15b
xor r9b, r11b
and r9b, r10b
xor r9b, r11b
xor r9b, bl
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 4
jne 0x180001d90
mov byte [0x18004ec1c], 1
mov rbx, qword [0x18004d4c0]
movabs rax, 0x1ebfff89eed7ab6e
add rbx, rax
xorps xmm6, xmm6
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi], xmm6
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x60], rdi
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180013420
lea rax, [rbp + 0x20]
movaps xmmword [rbp + 0x40], xmm6
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x40]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x28]
mov edx, 4
call fcn.18000cd60
mov esi, 0x60
movabs rbx, 0xce51a912affb7fbd
movabs rdi, 0x1ebfff89eed7ab6e
nop dword [rax]
mov rax, qword [rbp + rsi - 0x48]
cmp rax, 0x10
jb 0x180001f01
mov rcx, qword [rbp + rsi - 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180001efc
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800020d7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180039c44
mov qword [rbp + rsi - 0x50], 0
mov qword [rbp + rsi - 0x48], 0xf
mov byte [rbp + rsi - 0x60], 0
test rsi, rsi
mov eax, 0x30
cmove rax, rsi
mov r14, qword [0x18004d4c8]
add rax, r14
mov rax, qword [rdi + rax]
add rax, rbx
jmp rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3