Function at 0x180001ad0
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 qword [rbp + 0x38], rcx
cmp byte [0x18004bbd0], 0
jne 0x180001bdc
mov rax, qword [0x18004a480]
movabs rcx, 0xf3981a784d2c318b
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31a9
xor cl, byte [rax + rdx]
mov byte [0x18004bbca], cl
movabs rcx, 0xf3981a784d2c318c
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31aa
xor cl, byte [rax + rdx]
mov byte [0x18004bbcb], cl
movabs rcx, 0xf3981a784d2c318d
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31ab
xor cl, byte [rax + rdx]
mov byte [0x18004bbcc], cl
movabs rcx, 0xf3981a784d2c318e
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31ac
xor cl, byte [rax + rdx]
mov byte [0x18004bbcd], cl
movabs rcx, 0xf3981a784d2c318f
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31ad
xor cl, byte [rax + rdx]
mov byte [0x18004bbce], cl
movabs rcx, 0xf3981a784d2c3190
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c31ae
xor cl, byte [rax + rdx]
mov byte [0x18004bbcf], cl
mov byte [0x18004bbd0], 1
movabs r14, 0xf3981a784d2c2fe4
mov rdi, qword [0x18004a488]
add rdi, r14
xorps xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm0
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.1800118c0
lea rdi, [rbp - 0x40]
cmp byte [0x18004bbd7], 0
jne 0x180001d11
mov rdx, qword [0x18004a480]
movabs rax, 0xf3981a784d2c31c7
add rax, rdx
movabs rcx, 0xf3981a784d2c31e6
add rcx, rdx
xor edx, edx
lea r8, [0x18004bbd1]
nop word cs:[rax + rax]
movzx r10d, byte [rcx + rdx]
mov r11d, r10d
not r11b
and r11b, 0x13
mov r12d, r10d
xor r12b, 0xec
or r11b, r12b
mov r9d, r10d
or r9b, 0xec
mov r15d, r10d
and r15b, 1
mov esi, r9d
and sil, 0x52
or sil, r15b
lea ebx, [rsi + 4]
and r12b, 0x80
and r10b, 0x28
or r10b, r12b
mov r12d, r9d
and r12b, 0x96
or r12b, r15b
or r12b, 0x68
xor r12b, r11b
and r9b, r11b
and r11b, 0x57
or r10b, 0x13
xor r10b, r11b
mov r11d, r10d
xor r11b, 0x93
xor sil, 0xfb
and sil, r11b
xor r10b, 0x44
and r10b, bl
or r10b, sil
or r9b, r12b
not r9b
or r9b, r10b
mov r10d, r9d
and r10b, 0xe4
or r10b, 0x11
and r9b, 0x1b
xor r9b, byte [rax + rdx]
xor r9b, r10b
xor r9b, 2
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 6
jne 0x180001c60
mov byte [0x18004bbd7], 1
mov rbx, qword [0x18004a490]
add rbx, r14
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.1800118c0
lea rdi, [rbp - 0x20]
cmp byte [0x18004bbdd], 0
jne 0x180001e03
mov rax, qword [0x18004a480]
movabs rcx, 0xf3981a784d2c31fd
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c320e
xor cl, byte [rax + rdx]
mov byte [0x18004bbd8], cl
movabs rcx, 0xf3981a784d2c31fe
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c320f
xor cl, byte [rax + rdx]
mov byte [0x18004bbd9], cl
movabs rcx, 0xf3981a784d2c31ff
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3210
xor cl, byte [rax + rdx]
mov byte [0x18004bbda], cl
movabs rcx, 0xf3981a784d2c3200
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3211
xor cl, byte [rax + rdx]
mov byte [0x18004bbdb], cl
movabs rcx, 0xf3981a784d2c3201
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3212
xor cl, byte [rax + rdx]
mov byte [0x18004bbdc], cl
mov byte [0x18004bbdd], 1
mov rbx, qword [0x18004a498]
add rbx, r14
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.1800118c0
lea rdi, [rbp]
cmp byte [0x18004bbe2], 0
jne 0x180001ed4
mov rax, qword [0x18004a480]
movabs rcx, 0xf3981a784d2c322a
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3244
xor cl, byte [rax + rdx]
mov byte [0x18004bbde], cl
movabs rcx, 0xf3981a784d2c322b
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3245
xor cl, byte [rax + rdx]
mov byte [0x18004bbdf], cl
movabs rcx, 0xf3981a784d2c322c
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3246
xor cl, byte [rax + rdx]
mov byte [0x18004bbe0], cl
movabs rcx, 0xf3981a784d2c322d
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf3981a784d2c3247
xor cl, byte [rax + rdx]
mov byte [0x18004bbe1], cl
mov byte [0x18004bbe2], 1
mov rbx, qword [0x18004a4a0]
add rbx, r14
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.1800118c0
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.18000ae50
mov esi, 0x60
movabs rdi, 0xb0d819f5d869ebc8
nop word cs:[rax + rax]
mov rax, qword [rbp + rsi - 0x48]
cmp rax, 0x10
jb 0x180001f91
mov rcx, qword [rbp + rsi - 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180001f8c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180002157
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
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 r15, qword [0x18004a4a8]
add rax, r15
mov rax, qword [r14 + rax]
add rax, rdi
jmp rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3