Function at 0x180020a60
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 qword [rbp - 0x20], r9
mov r14, r8
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 - 0x40]
mov rdx, r8
call fcn.18002bec0
cmp byte [0x180048a54], 0
jne 0x180020b4d
mov rdx, qword [0x180046a50]
movabs rax, 0x59d8360a39e46017
add rax, rdx
movabs rcx, 0x59d8360a39e46032
add rcx, rdx
xor edx, edx
lea r8, [0x180048a48]
nop dword [rax]
movzx r10d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
mov r11d, r10d
not r11b
and r11b, r9b
not r9b
and r9b, r10b
mov r10d, r11d
and r10b, 0x40
and r11b, 0xbf
or r10b, 0xd
xor r10b, r11b
mov r11d, r10d
xor r11b, 0xb2
mov ebx, r9d
xor bl, 0xbf
xor r10b, 0x4d
and r10b, bl
xor r9b, 0x40
and r9b, r11b
or r9b, r10b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xc
jne 0x180020af0
mov byte [0x180048a54], 1
mov qword [rbp - 0x18], r14
mov r14d, edi
movabs r15, 0x59d8360a39e434b5
mov r13, qword [0x180046a58]
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 0x1800211f7
mov r12, rax
cmp rax, 0xf
ja 0x180020bb4
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 0x180020ca3
mov ecx, r12d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r12
xor r8, 0xf
mov rax, r12
xor rax, 0xfffffffffffffff0
mov r9d, r12d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r12
or r8, rax
and r8, r10
movabs r10, 0x420200d2d800000e
and r10, rdx
or r10, r9
movabs r9, 0x3c458004059c0120
or r9, r10
xor r9, r8
xor rcx, rax
xor rax, rdx
or rax, rcx
not rax
or rax, r9
cmp rax, 0x17
mov ebx, 0x16
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x180020c7a
lea rcx, [rbx + 0x28]
call fcn.180035cbc
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r8, 0x200806a620eb8002
and r8, rdx
movabs r9, 0xdff7f959df147ffd
and r9, rcx
or r9, r8
movabs rdi, 0xdff7f959df147fe2
xor rdi, r9
and rdi, rdx
mov qword [rdi - 8], rax
jmp 0x180020c86
lea rcx, [rbx + 1]
call fcn.180035cbc
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 byte [r12], 0
lea rcx, [rbp - 0x10]
lea rdx, [rbp + 0x50]
mov r13d, r14d
mov r8d, r14d
call fcn.1800188b0
mov rax, qword [0x180046a50]
cmp byte [0x180048a47], 0
jne 0x180020e62
movabs rcx, 0x59d8360a39e45fde
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff0
xor cl, byte [rax + rdx]
mov byte [0x180048a3b], cl
movabs rcx, 0x59d8360a39e45fdf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff1
xor cl, byte [rax + rdx]
mov byte [0x180048a3c], cl
movabs rcx, 0x59d8360a39e45fe0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff2
xor cl, byte [rax + rdx]
mov byte [0x180048a3d], cl
movabs rcx, 0x59d8360a39e45fe1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff3
xor cl, byte [rax + rdx]
mov byte [0x180048a3e], cl
movabs rcx, 0x59d8360a39e45fe2
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff4
xor cl, byte [rax + rdx]
mov byte [0x180048a3f], cl
movabs rcx, 0x59d8360a39e45fe3
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff5
xor cl, byte [rax + rdx]
mov byte [0x180048a40], cl
movabs rcx, 0x59d8360a39e45fe4
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff6
xor cl, byte [rax + rdx]
mov byte [0x180048a41], cl
movabs rcx, 0x59d8360a39e45fe5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff7
xor cl, byte [rax + rdx]
mov byte [0x180048a42], cl
movabs rcx, 0x59d8360a39e45fe6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff8
xor cl, byte [rax + rdx]
mov byte [0x180048a43], cl
movabs rcx, 0x59d8360a39e45fe7
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ff9
xor cl, byte [rax + rdx]
mov byte [0x180048a44], cl
movabs rcx, 0x59d8360a39e45fe8
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ffa
xor cl, byte [rax + rdx]
mov byte [0x180048a45], cl
movabs rcx, 0x59d8360a39e45fe9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x59d8360a39e45ffb
xor cl, byte [rax + rdx]
mov byte [0x180048a46], cl
mov byte [0x180048a47], 1
cmp byte [0x180048a3a], 0
jne 0x180020f92
movabs rcx, 0x59d8360a39e45fc7
movzx r8d, byte [rax + rcx]
movabs rcx, 0x59d8360a39e45fa9
movzx ecx, byte [rax + rcx]
mov edx, r8d
xor dl, 0x43
mov r9d, r8d
and r9b, 0x86
xor r9b, 2
and r9b, dl
and dl, 2
or dl, 0x79
and dl, r8b
or dl, r9b
mov r8d, edx
xor r8b, 0x7b
mov r9d, ecx
xor r9b, 0x79
xor dl, 0x84
or dl, r9b
xor cl, 0x86
or cl, r8b
and cl, dl
not cl
mov byte [0x180048a37], cl
movabs rcx, 0x59d8360a39e45fc8
movzx r8d, byte [rax + rcx]
movabs rcx, 0x59d8360a39e45faa
movzx ecx, byte [rax + rcx]
mov edx, r8d
xor dl, 0x43
mov r9d, r8d
and r9b, 0x86
xor r9b, 2
and r9b, dl
and dl, 2
or dl, 0x79
and dl, r8b
or dl, r9b
mov r8d, edx
xor r8b, 0x7b
mov r9d, ecx
xor r9b, 0x79
xor dl, 0x84
or dl, r9b
xor cl, 0x86
or cl, r8b
and cl, dl
not cl
mov byte [0x180048a38], cl
movabs rcx, 0x59d8360a39e45fc9
movzx edx, byte [rax + rcx]
movabs rcx, 0x59d8360a39e45fab
movzx eax, byte [rax + rcx]
mov ecx, edx
xor cl, 0x43
mov r8d, edx
and r8b, 0x86
xor r8b, 2
and r8b, cl
and cl, 2
or cl, 0x79
and cl, dl
or cl, r8b
mov edx, ecx
xor dl, 0x7b
mov r8d, eax
xor r8b, 0x79
xor cl, 0x84
or cl, r8b
xor al, 0x86
or al, dl
and al, cl
not al
mov byte [0x180048a39], al
mov byte [0x180048a3a], 1
mov r12, qword [0x180046a60]
add r12, r15
add r15, qword [0x180046a68]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0xf
mov rbx, qword [rbp]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
add rdi, rbx
add rdi, qword [rbp - 0x30]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rax, rdi
add rax, qword [rbp + 0x40]
mov rdi, qword [rbp - 0x20]
add rax, qword [rdi + 0x10]
cmp rax, 0x10
jb 0x180021001
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.180018f70
mov qword [rbp + 0x20], 0
mov qword [rsp + 0x30], rdi
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 - 0x40]
mov rcx, r14
mov r8, r12
call fcn.18002c240
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18002106a
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180021065
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800211f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x1800210bd
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800210b8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800211f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x1800210fc
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800210f7
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800211f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x18002113b
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180021136
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800211f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, qword [rbp - 0x18]
mov rdi, qword [rax]
cmp qword [rbp + 0x28], 0x10
jb 0x18002114d
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 dword [rsi + 0x18], r13d
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 0x1800211da
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800211d5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800211f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, rsi
add rsp, 0xf8
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.18000d970
int3