Function at 0x180001010
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov r12, rcx
cmp byte [0x180060c26], 0
jne 0x1800010f0
mov rdx, qword [0x18005f3b0]
movabs rax, 0xba2c810654d8f4db
add rax, rdx
movabs rcx, 0xba2c810654d8f4f5
add rcx, rdx
xor edx, edx
lea r8, [0x180060c20]
nop dword [rax]
movzx r10d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
mov r11d, r9d
not r11b
mov ebx, r9d
xor bl, 0x32
and bl, r11b
mov r11d, r10d
xor r11b, 0x44
mov esi, r9d
and sil, 0x45
mov edi, ebx
and dil, 0x75
xor dil, sil
and bl, 2
or bl, dil
mov esi, r9d
and sil, 0x88
or sil, 0x45
xor sil, bl
mov ebx, r9d
xor bl, 0x88
xor r9b, 0x77
or r9b, bl
not r9b
or r9b, sil
xor r10b, 0xbb
and r11b, r10b
and r11b, 0xcc
or r11b, r10b
xor r11b, r9b
xor r11b, 0xcc
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 6
jne 0x180001070
mov byte [0x180060c26], 1
movabs r15, 0xba2c810654d8f4c8
mov rbx, qword [0x18005f3b8]
add rbx, r15
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800018f9
mov rdi, rax
cmp rax, 0xf
ja 0x180001150
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 0xf
lea rcx, [rbp - 0x40]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbp
add rdi, 0xffffffffffffffc0
jmp 0x18000122f
mov rax, rdi
xor rax, 0xf
mov rcx, rdi
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, rdi
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, rdi
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov r15d, 0x16
cmovae r15, rdx
lea rax, [rbp - 0x40]
cmp r15, 0xfff
jb 0x1800011f8
lea rcx, [r15 + 0x28]
mov qword [rbp + 0x68], rax
call fcn.18004a3a8
mov r14, 0xffffffffffffffd8
sub r14, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r14, r8
or r14, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r14
xor r14, r8
and r14, rdx
mov qword [r14 - 8], rax
jmp 0x180001208
lea rcx, [r15 + 1]
mov qword [rbp + 0x68], rax
call fcn.18004a3a8
mov r14, rax
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs r15, 0xba2c810654d8f4c8
mov byte [rdi], 0
lea r14, [rbp - 0x20]
movabs rcx, 0xba2c810654d8f513
add rcx, qword [0x18005f3b0]
call fcn.1800465d0
mov rbx, qword [0x18005f3c0]
add rbx, r15
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180001906
mov rdi, rax
cmp rax, 0xf
ja 0x18000129d
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0xf
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
jmp 0x180001378
mov rax, rdi
xor rax, 0xf
mov rcx, rdi
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, rdi
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, rdi
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov r15d, 0x16
cmovae r15, rdx
cmp r15, 0xfff
jb 0x180001341
lea rcx, [r15 + 0x28]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, 0xffffffffffffffd8
sub r14, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r14, r8
or r14, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r14
xor r14, r8
and r14, rdx
mov qword [r14 - 8], rax
jmp 0x180001351
lea rcx, [r15 + 1]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs r15, 0xba2c810654d8f4c8
mov byte [rdi], 0
lea r14, [rbp]
cmp byte [0x180060c34], 0
jne 0x18000143f
mov rax, qword [0x18005f3b0]
movabs rcx, 0xba2c810654d8f54c
movzx ecx, byte [rax + rcx]
movabs rdx, 0xba2c810654d8f562
xor cl, byte [rax + rdx]
mov byte [0x180060c2f], cl
movabs rcx, 0xba2c810654d8f54d
movzx ecx, byte [rax + rcx]
movabs rdx, 0xba2c810654d8f563
xor cl, byte [rax + rdx]
mov byte [0x180060c30], cl
movabs rcx, 0xba2c810654d8f54e
movzx ecx, byte [rax + rcx]
movabs rdx, 0xba2c810654d8f564
xor cl, byte [rax + rdx]
mov byte [0x180060c31], cl
movabs rcx, 0xba2c810654d8f54f
movzx ecx, byte [rax + rcx]
movabs rdx, 0xba2c810654d8f565
xor cl, byte [rax + rdx]
mov byte [0x180060c32], cl
movabs rcx, 0xba2c810654d8f550
movzx ecx, byte [rax + rcx]
movabs rdx, 0xba2c810654d8f566
xor cl, byte [rax + rdx]
mov byte [0x180060c33], cl
mov byte [0x180060c34], 1
mov rbx, qword [0x18005f3c8]
add rbx, r15
xorps xmm0, xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18000190f
mov rdi, rax
cmp rax, 0xf
ja 0x180001491
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], 0xf
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
jmp 0x18000156c
mov rax, rdi
xor rax, 0xf
mov rcx, rdi
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, rdi
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, rdi
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov r15d, 0x16
cmovae r15, rdx
cmp r15, 0xfff
jb 0x180001535
lea rcx, [r15 + 0x28]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, 0xffffffffffffffd8
sub r14, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r14, r8
or r14, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r14
xor r14, r8
and r14, rdx
mov qword [r14 - 8], rax
jmp 0x180001545
lea rcx, [r15 + 1]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, rax
mov qword [rbp], r14
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs r15, 0xba2c810654d8f4c8
mov byte [rdi], 0
lea r14, [rbp + 0x20]
movabs rcx, 0xba2c810654d8f578
add rcx, qword [0x18005f3b0]
call fcn.1800466b0
mov rbx, qword [0x18005f3d0]
add rbx, r15
xorps xmm0, xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180001918
mov rdi, rax
cmp rax, 0xf
ja 0x1800015da
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], 0xf
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
jmp 0x1800016b5
mov rax, rdi
xor rax, 0xf
mov rcx, rdi
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, rdi
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, rdi
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov r15d, 0x16
cmovae r15, rdx
cmp r15, 0xfff
jb 0x18000167e
lea rcx, [r15 + 0x28]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, 0xffffffffffffffd8
sub r14, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r14, r8
or r14, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r14
xor r14, r8
and r14, rdx
mov qword [r14 - 8], rax
jmp 0x18000168e
lea rcx, [r15 + 1]
mov qword [rbp + 0x68], r14
call fcn.18004a3a8
mov r14, rax
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs r15, 0xba2c810654d8f4c8
mov byte [rdi], 0
lea rax, [rbp - 0x40]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x40]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x48]
lea rdx, [rbp - 0x58]
lea r8, [rbp + 0x67]
call fcn.180001c40
mov edi, 0x60
movabs r14, 0x30bd39ac4864ce9b
nop dword [rax + rax]
mov rax, qword [rbp + rdi - 0x28]
cmp rax, 0x10
jb 0x180001731
mov rcx, qword [rbp + rdi - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18000172c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800018f3
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov qword [rbp + rdi - 0x30], 0
mov qword [rbp + rdi - 0x28], 0xf
mov byte [rbp + rdi - 0x40], 0
mov rsi, qword [0x18005f3d8]
lea rax, [rsi + 0x18]
lea rcx, [rsi + 0x30]
test rdi, rdi
cmove rax, rcx
mov rax, qword [rax + r15]
add rax, r14
jmp rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea rax, [rbp - 0x40]
mov qword [rbp + 0x68], rax
call fcn.180019a20
mov qword [rbp + 0x68], r14
call fcn.180019a20
mov qword [rbp + 0x68], r14
call fcn.180019a20
mov qword [rbp + 0x68], r14
call fcn.180019a20
int3