Function at 0x180001bf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov qword [rbp - 0x48], rcx
movabs rcx, 0x4937392c98b4f547
add rcx, qword [0x1800504b0]
call fcn.180037de0
movabs r12, 0x4937392c98b4f3a0
mov rbx, qword [0x1800504b8]
add rbx, r12
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 0x1800025cd
mov rdi, rax
cmp rax, 0xf
ja 0x180001c8d
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 0x180001d47
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
lea rax, [rbp - 0x40]
cmp rsi, 0xfff
jb 0x180001d1a
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x58], rax
call fcn.18003c980
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
mov r8d, ecx
and r8d, 5
movabs r9, 0x5867f20cf71b6f6b
and r9, rdx
and rdx, 0xfffffffffffffffa
or rdx, r8
movabs r8, 0xa7980df308e49094
and rcx, r8
or r9, rcx
xor r8, r9
xor r9, rdx
xor rdx, 0x1a
or r8, rdx
movabs r14, 0x5867f20cf71b6f71
xor r14, r9
and r14, r8
mov qword [r14 - 8], rax
jmp 0x180001d2a
lea rcx, [rsi + 1]
mov qword [rbp + 0x58], rax
call fcn.18003c980
mov r14, rax
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
mov byte [rdi], 0
lea r14, [rbp - 0x20]
cmp byte [0x180051c19], 0
jne 0x180001e2f
mov rax, qword [0x1800504b0]
movabs rcx, 0x4937392c98b4f57d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f598
xor cl, byte [rax + rdx]
mov byte [0x180051c13], cl
movabs rcx, 0x4937392c98b4f57e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f599
xor cl, byte [rax + rdx]
mov byte [0x180051c14], cl
movabs rcx, 0x4937392c98b4f57f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f59a
xor cl, byte [rax + rdx]
mov byte [0x180051c15], cl
movabs rcx, 0x4937392c98b4f580
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f59b
xor cl, byte [rax + rdx]
mov byte [0x180051c16], cl
movabs rcx, 0x4937392c98b4f581
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f59c
xor cl, byte [rax + rdx]
mov byte [0x180051c17], cl
movabs rcx, 0x4937392c98b4f582
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f59d
xor cl, byte [rax + rdx]
mov byte [0x180051c18], cl
mov byte [0x180051c19], 1
mov rbx, qword [0x1800504c0]
add rbx, r12
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 0x1800025da
mov rdi, rax
cmp rax, 0xf
ja 0x180001e70
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0xf
jmp 0x180001f15
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180001ef9
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x58], r14
call fcn.18003c980
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
mov r8d, ecx
and r8d, 5
movabs r9, 0x5867f20cf71b6f6b
and r9, rdx
and rdx, 0xfffffffffffffffa
or rdx, r8
movabs r8, 0xa7980df308e49094
and rcx, r8
or r9, rcx
xor r8, r9
xor r9, rdx
xor rdx, 0x1a
or r8, rdx
movabs r14, 0x5867f20cf71b6f71
xor r14, r9
and r14, r8
mov qword [r14 - 8], rax
jmp 0x180001f09
lea rcx, [rsi + 1]
mov qword [rbp + 0x58], r14
call fcn.18003c980
mov r14, rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
mov byte [rdi], 0
lea rdi, [rbp]
cmp byte [0x180051c1f], 0
jne 0x18000202d
mov rdx, qword [0x1800504b0]
movabs rax, 0x4937392c98b4f5b4
add rax, rdx
movabs rcx, 0x4937392c98b4f5c6
add rcx, rdx
xor edx, edx
lea r8, [0x180051c1a]
nop word cs:[rax + rax]
movzx r11d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
mov r10d, r11d
or r10b, 0xc6
mov r14d, r11d
and r14b, 0xc6
mov ebx, r10d
and bl, 0x61
mov esi, r11d
and sil, 0x18
or bl, sil
xor bl, 0x79
or bl, r14b
not r14b
mov r15d, r11d
or r15b, 0x86
and r15b, 0xbf
xor r15b, 0x3b
mov r12d, r11d
and r12b, 4
mov r13d, r14d
and r13b, 0x80
or r13b, r12b
mov r12d, r11d
and r12b, 0x42
xor r13b, 0xb9
and r13b, r15b
or r13b, r12b
and r10b, 0x25
and r11b, 0xc2
and r14b, 0x25
or r14b, r11b
or r10b, sil
xor r10b, r14b
xor r10b, 0xe7
and r10b, bl
or r10b, r13b
mov r11d, r9d
xor r11b, 0xc6
or r11b, r10b
xor r9b, r10b
xor r9b, 0x39
and r9b, r10b
not r11b
or r11b, r9b
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 5
jne 0x180001f70
mov byte [0x180051c1f], 1
movabs r12, 0x4937392c98b4f3a0
mov r14, qword [0x1800504c8]
add r14, r12
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800025e3
mov rbx, rax
cmp rax, 0xf
ja 0x18000206c
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 0xf
jmp 0x180002111
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x1800020f5
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x58], rdi
call fcn.18003c980
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
mov r8d, ecx
and r8d, 5
movabs r9, 0x5867f20cf71b6f6b
and r9, rdx
and rdx, 0xfffffffffffffffa
or rdx, r8
movabs r8, 0xa7980df308e49094
and rcx, r8
or r9, rcx
xor r8, r9
xor r9, rdx
xor rdx, 0x1a
or r8, rdx
movabs rdi, 0x5867f20cf71b6f71
xor rdi, r9
and rdi, r8
mov qword [rdi - 8], rax
jmp 0x180002105
lea rcx, [rsi + 1]
mov qword [rbp + 0x58], rdi
call fcn.18003c980
mov rdi, rax
mov qword [rbp], rdi
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rsi
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rdi
mov byte [rbx], 0
lea rdi, [rbp + 0x20]
cmp byte [0x180051c24], 0
jne 0x180002241
mov rax, qword [0x1800504b0]
movabs rcx, 0x4937392c98b4f5fe
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f5e6
movzx edx, byte [rax + rdx]
mov r8d, ecx
xor r8b, 0x5a
xor cl, 0xa5
mov r9d, edx
xor r9b, 0xa5
or r9b, r8b
xor dl, 0x5a
or dl, cl
and dl, r9b
not dl
mov byte [0x180051c20], dl
movabs rcx, 0x4937392c98b4f5ff
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f5e7
movzx edx, byte [rax + rdx]
mov r8d, ecx
xor r8b, 0x5a
xor cl, 0xa5
mov r9d, edx
xor r9b, 0xa5
or r9b, r8b
xor dl, 0x5a
or dl, cl
and dl, r9b
not dl
mov byte [0x180051c21], dl
movabs rcx, 0x4937392c98b4f600
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f5e8
movzx edx, byte [rax + rdx]
mov r8d, ecx
xor r8b, 0x5a
xor cl, 0xa5
mov r9d, edx
xor r9b, 0xa5
or r9b, r8b
xor dl, 0x5a
or dl, cl
and dl, r9b
not dl
mov byte [0x180051c22], dl
movabs rcx, 0x4937392c98b4f601
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4937392c98b4f5e9
movzx eax, byte [rax + rdx]
mov edx, ecx
xor dl, 0x5a
xor cl, 0xa5
mov r8d, eax
xor r8b, 0xa5
or r8b, dl
xor al, 0x5a
or al, cl
and al, r8b
not al
mov byte [0x180051c23], al
mov byte [0x180051c24], 1
mov r14, qword [0x1800504d0]
add r14, r12
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800025ec
mov rbx, rax
cmp rax, 0xf
ja 0x180002280
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
jmp 0x180002325
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002309
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x58], rdi
call fcn.18003c980
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
mov r8d, ecx
and r8d, 5
movabs r9, 0x5867f20cf71b6f6b
and r9, rdx
and rdx, 0xfffffffffffffffa
or rdx, r8
movabs r8, 0xa7980df308e49094
and rcx, r8
or r9, rcx
xor r8, r9
xor r9, rdx
xor rdx, 0x1a
or r8, rdx
movabs rdi, 0x5867f20cf71b6f71
xor rdi, r9
and rdi, r8
mov qword [rdi - 8], rax
jmp 0x180002319
lea rcx, [rsi + 1]
mov qword [rbp + 0x58], rdi
call fcn.18003c980
mov rdi, rax
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], rsi
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rdi
mov byte [rbx], 0
lea rax, [rbp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], 0
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x40]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x40]
lea r8, [rbp - 0x50]
lea r9, [rbp - 0x58]
mov edx, 4
call fcn.18000e1a0
mov esi, 0x60
movabs rbx, 0x5537c683897700f8
movabs rdi, 0x2a9be341c4bb808
movabs r14, 0xdccc4c74d0cf4f4d
nop word cs:[rax + rax]
mov rax, qword [rbp + rsi - 0x28]
cmp rax, 0x10
jb 0x1800023e3
mov rcx, qword [rbp + rsi - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800023de
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, rbx
shr rcx, 5
cmp rcx, rdi
jne 0x1800025c7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18003c9c4
mov qword [rbp + rsi - 0x30], 0
mov qword [rbp + rsi - 0x28], 0xf
mov byte [rbp + rsi - 0x40], 0
mov r15, qword [0x1800504d8]
lea rax, [r15 + 0x28]
lea rcx, [r15 + 0x40]
test rsi, rsi
cmove rax, rcx
mov rax, qword [rax + r12]
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 + 0x58], rax
call fcn.18000f240
mov qword [rbp + 0x58], r14
call fcn.18000f240
mov qword [rbp + 0x58], rdi
call fcn.18000f240
mov qword [rbp + 0x58], rdi
call fcn.18000f240
int3