Function at 0x180022a00
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 r14, r9
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0xf
lea rcx, [rbp - 0x40]
mov qword [rbp + 8], r8
mov rdx, r8
call fcn.18002c140
cmp byte [0x18004ce69], 0
jne 0x180022bf9
mov rax, qword [0x18004abc0]
movabs rcx, 0x280206aee5ea1495
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14a7
xor cl, byte [rax + rdx]
mov byte [0x18004ce5d], cl
movabs rcx, 0x280206aee5ea1496
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14a8
xor cl, byte [rax + rdx]
mov byte [0x18004ce5e], cl
movabs rcx, 0x280206aee5ea1497
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14a9
xor cl, byte [rax + rdx]
mov byte [0x18004ce5f], cl
movabs rcx, 0x280206aee5ea1498
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14aa
xor cl, byte [rax + rdx]
mov byte [0x18004ce60], cl
movabs rcx, 0x280206aee5ea1499
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14ab
xor cl, byte [rax + rdx]
mov byte [0x18004ce61], cl
movabs rcx, 0x280206aee5ea149a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14ac
xor cl, byte [rax + rdx]
mov byte [0x18004ce62], cl
movabs rcx, 0x280206aee5ea149b
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14ad
xor cl, byte [rax + rdx]
mov byte [0x18004ce63], cl
movabs rcx, 0x280206aee5ea149c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14ae
xor cl, byte [rax + rdx]
mov byte [0x18004ce64], cl
movabs rcx, 0x280206aee5ea149d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14af
xor cl, byte [rax + rdx]
mov byte [0x18004ce65], cl
movabs rcx, 0x280206aee5ea149e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14b0
xor cl, byte [rax + rdx]
mov byte [0x18004ce66], cl
movabs rcx, 0x280206aee5ea149f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14b1
xor cl, byte [rax + rdx]
mov byte [0x18004ce67], cl
movabs rcx, 0x280206aee5ea14a0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x280206aee5ea14b2
xor cl, byte [rax + rdx]
mov byte [0x18004ce68], cl
mov byte [0x18004ce69], 1
movabs r15, 0x280206aee5e9e78d
mov r12, qword [0x18004abc8]
add r12, r15
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rbp - 0x20]
mov rdx, r12
mov r8, rax
call fcn.1800118c0
lea rcx, [rbp + 0x10]
lea rdx, [rbp - 0x20]
mov ebx, edi
mov r8d, edi
call fcn.18001c3c0
mov rcx, qword [0x18004abc0]
cmp byte [0x18004ce5c], 0
jne 0x180022cde
movabs rax, 0x280206aee5ea1464
add rax, rcx
movabs rdx, 0x280206aee5ea1474
add rdx, rcx
xor r8d, r8d
lea r9, [0x18004ce50]
nop dword [rax]
movzx r10d, byte [rdx + r8]
movzx r11d, byte [rax + r8]
not r11b
mov r12d, r10d
and r12b, r11b
or r11b, r10b
mov r10d, r11d
not r10b
mov r13d, r10d
and r13b, 0x80
mov edi, r11d
and dil, 0x28
or dil, r13b
and r11b, 0x10
and r10b, 0x47
or r10b, r11b
or dil, 0x10
or r10b, 0x80
xor r10b, dil
xor r10b, r12b
xor r10b, 0xa8
mov byte [r8 + r9], r10b
inc r8
cmp r8, 0xc
jne 0x180022c80
mov byte [0x18004ce5c], 1
movabs rax, 0x280206aee5e9f392
add rcx, rax
call fcn.180032a90
mov r12, qword [0x18004abd0]
add r12, r15
add r15, qword [0x18004abd8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
mov rdi, qword [rbp + 0x20]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r13, rax
add r13, rdi
add r13, qword [rbp - 0x30]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rax, r13
add rax, qword [rbp + 0x60]
add rax, qword [r14 + 0x10]
cmp rax, 0x10
jb 0x180022d5b
lea rcx, [rbp + 0x30]
mov rdx, rax
call fcn.18000f6c0
mov qword [rbp + 0x40], 0
mov qword [rsp + 0x30], r14
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r14, [rbp + 0x30]
lea rdx, [rbp + 0x10]
lea r9, [rbp - 0x40]
mov rcx, r14
mov r8, r12
call fcn.18002c590
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
mov edi, ebx
jb 0x180022dc6
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180022dc1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022f4c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x180022e19
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180022e14
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022f4c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x180022e58
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180022e53
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022f4c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x180022e97
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180022e92
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022f4c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov rax, qword [rbp + 8]
mov rbx, qword [rax]
cmp qword [rbp + 0x48], 0x10
jb 0x180022ea9
mov r14, qword [rbp + 0x30]
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], edi
lea rax, vtable.std::exception.0
mov qword [rsi + 0x20], rax
lea rdx, [rsi + 0x28]
movups xmmword [rsi + 0x28], xmm0
mov qword [rbp + 0x50], r14
mov byte [rbp + 0x58], 1
lea rcx, [rbp + 0x50]
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], rbx
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x180022f35
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180022f30
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022f4c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
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]
int3