Function at 0x18001f9d0
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]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov r14, r9
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x20], r8
mov rdx, r8
call fcn.180029da0
cmp byte [0x180046985], 0
jne 0x18001fadf
mov rdx, qword [0x180044a00]
movabs rax, 0xf4de7993aecced0f
add rax, rdx
movabs rcx, 0xf4de7993aecced2a
add rcx, rdx
xor edx, edx
lea r8, [0x180046979]
nop dword [rax]
movzx r11d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
mov r10d, r11d
and r10b, 0xc8
xor r10b, 0xc0
and r10b, r11b
mov ebx, r11d
and bl, 0xc0
or bl, 0xe
xor bl, r10b
or bl, 0x10
mov r10d, r11d
and r10b, 0x37
xor r10b, bl
mov ebx, r11d
xor bl, 0xc8
xor r11b, 0x37
or r11b, bl
xor r10b, 0x29
mov ebx, r10d
xor bl, r11b
or r10b, r11b
not r10b
or r10b, bl
mov r11d, r9d
xor r11b, 0xc8
mov ebx, r9d
xor bl, 0xeb
and bl, r11b
and r9b, 0x23
xor r9b, bl
xor r9b, r10b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xc
jne 0x18001fa60
mov byte [0x180046985], 1
movabs r15, 0xf4de7993aeccc34d
mov r13, qword [0x180044a08]
add r13, r15
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm0
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180020095
mov r12, rax
cmp rax, 0xf
mov qword [rbp - 0x28], rsi
ja 0x18001fb40
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
lea rcx, [rbp + 0x50]
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, rbp
add r12, 0x50
jmp 0x18001fbac
mov rsi, r14
mov r14d, edi
mov rax, r12
or rax, 0xf
cmp rax, 0x17
mov ebx, 0x16
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x18001fb7d
lea rcx, [rbx + 0x28]
call fcn.180033070
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18001fb89
lea rcx, [rbx + 1]
call fcn.180033070
mov rdi, rax
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], rbx
mov rcx, rdi
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, rdi
mov edi, r14d
mov r14, rsi
mov byte [r12], 0
lea rcx, [rbp - 0x10]
lea rdx, [rbp + 0x50]
mov r8d, edi
call fcn.180016ff0
mov dword [rbp + 0x7c], edi
mov rax, qword [0x180044a00]
cmp byte [0x180046978], 0
jne 0x18001fc97
mov qword [rbp - 0x18], r14
movabs rcx, 0xf4de7993aeccecd5
add rcx, rax
movabs rdx, 0xf4de7993aeccece5
add rdx, rax
xor r8d, r8d
lea r9, [0x18004696c]
movzx r11d, byte [rcx + r8]
mov r14d, r11d
not r14b
mov esi, r11d
and sil, 0x13
mov edi, r14d
and dil, 0xec
mov ebx, r11d
xor bl, 0x10
and bl, sil
lea r13d, [rdi + 3]
or dil, sil
not sil
mov r10d, r11d
and r10b, 8
mov r12d, esi
and r12b, 0xf4
or bl, r12b
xor r10b, 0x18
xor r13b, r10b
and r13b, bl
xor r13b, r10b
and r14b, 4
mov r10d, r11d
and r10b, 0xe8
or r10b, r14b
and r11b, 2
and sil, 0xf9
or sil, r11b
or r10b, 0x11
xor r10b, sil
not r10b
and r10b, dil
or r10b, r13b
xor r10b, byte [rdx + r8]
xor r10b, 0xec
mov byte [r8 + r9], r10b
inc r8
cmp r8, 0xc
jne 0x18001fc00
mov byte [0x180046978], 1
mov r14, qword [rbp - 0x18]
cmp byte [0x18004696b], 0
jne 0x18001fe2e
movabs rcx, 0xf4de7993aeccecb4
movzx ecx, byte [rax + rcx]
mov edx, ecx
not dl
mov r8d, ecx
and r8b, 0x61
mov r9d, ecx
or r9b, 0x9e
xor r8b, 0xb1
and r8b, r9b
and dl, 0x21
or dl, r8b
mov r8d, ecx
and r8b, 0x9e
xor r8b, dl
mov edx, r8d
xor dl, 0xd0
mov r9d, r8d
and r9b, 0xcc
mov r10d, r8d
xor r10b, 0x1c
and r10b, dl
and r8b, 0xc4
and cl, 8
or cl, r8b
xor cl, r10b
xor cl, 0xc
xor r9b, 0xc
and r9b, r10b
or r9b, cl
movabs rcx, 0xf4de7993aecceca0
xor r9b, byte [rax + rcx]
xor r9b, 0xad
mov byte [0x180046968], r9b
movabs rcx, 0xf4de7993aeccecb5
movzx ecx, byte [rax + rcx]
mov edx, ecx
not dl
mov r8d, ecx
and r8b, 0x61
mov r9d, ecx
or r9b, 0x9e
xor r8b, 0xb1
and r8b, r9b
and dl, 0x21
or dl, r8b
mov r8d, ecx
and r8b, 0x9e
xor r8b, dl
mov edx, r8d
xor dl, 0xd0
mov r9d, r8d
and r9b, 0xcc
mov r10d, r8d
xor r10b, 0x1c
and r10b, dl
and r8b, 0xc4
and cl, 8
or cl, r8b
xor cl, r10b
xor cl, 0xc
xor r9b, 0xc
and r9b, r10b
or r9b, cl
movabs rcx, 0xf4de7993aecceca1
xor r9b, byte [rax + rcx]
xor r9b, 0xad
mov byte [0x180046969], r9b
movabs rcx, 0xf4de7993aeccecb6
movzx ecx, byte [rax + rcx]
mov edx, ecx
not dl
mov r8d, ecx
and r8b, 0x61
mov r9d, ecx
or r9b, 0x9e
xor r8b, 0xb1
and r8b, r9b
and dl, 0x21
or dl, r8b
mov r8d, ecx
and r8b, 0x9e
xor r8b, dl
mov edx, r8d
xor dl, 0xd0
mov r9d, r8d
and r9b, 0xcc
mov r10d, r8d
xor r10b, 0x1c
and r10b, dl
and r8b, 0xc4
and cl, 8
or cl, r8b
xor cl, r10b
xor cl, 0xc
xor r9b, 0xc
and r9b, r10b
or r9b, cl
movabs rcx, 0xf4de7993aecceca2
xor r9b, byte [rax + rcx]
xor r9b, 0xad
mov byte [0x18004696a], r9b
mov byte [0x18004696b], 1
mov r12, qword [0x180044a10]
add r12, r15
add r15, qword [0x180044a18]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0xf
mov rsi, qword [rbp]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
add rdi, rsi
add rdi, qword [rbp - 0x38]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rax, rdi
add rax, qword [rbp + 0x40]
add rax, qword [r14 + 0x10]
cmp rax, 0x10
mov rsi, qword [rbp - 0x28]
jb 0x18001fe9d
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.180017490
mov qword [rbp + 0x20], 0
mov qword [rsp + 0x30], r14
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r14, [rbp + 0x10]
lea rdx, [rbp - 0x10]
lea r9, [rbp - 0x48]
mov rcx, r14
mov r8, r12
call fcn.18002a380
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18001ff06
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001ff01
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002008f
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x18001ff59
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001ff54
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002008f
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x18001ff98
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001ff93
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002008f
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x18001ffd7
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001ffd2
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002008f
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp - 0x20]
mov rdi, qword [rax]
cmp qword [rbp + 0x28], 0x10
jb 0x18001ffe9
mov r14, qword [rbp + 0x10]
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::exception.0
mov qword [rsi], rax
mov eax, dword [rbp + 0x7c]
mov dword [rsi + 0x18], eax
lea rax, vtable.std::exception.0
mov qword [rsi + 0x20], rax
lea rdx, [rsi + 0x28]
movups xmmword [rsi + 0x28], xmm0
mov qword [rbp + 0x30], r14
mov byte [rbp + 0x38], 1
lea rcx, [rbp + 0x30]
call sub.VCRUNTIME140.dll___std_exception_copy
lea rax, vtable.std::runtime_error.0
mov qword [rsi + 0x20], rax
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::parse_error.0
mov qword [rsi], rax
mov qword [rsi + 0x38], rdi
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x180020078
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180020073
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002008f
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, rsi
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.18000b930
int3