Function at 0x18002ea90
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.1800392f0
cmp byte [0x18005f08f], 0
jne 0x18002eb6b
mov rdx, qword [0x18005cc00]
movabs rax, 0x328d22c9e2ba358e
add rax, rdx
movabs rcx, 0x328d22c9e2ba35a2
add rcx, rdx
xor edx, edx
lea r8, [0x18005f083]
nop dword [rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
not r11b
and r11b, r10b
not r10b
and r10b, r9b
mov r9d, r11d
xor r9b, 0xa4
mov ebx, r10d
xor bl, 0xa4
xor r11b, 0x5b
and r11b, bl
xor r10b, 0x5b
and r10b, r9b
or r10b, r11b
mov byte [rdx + r8], r10b
inc rdx
cmp rdx, 0xc
jne 0x18002eb20
mov byte [0x18005f08f], 1
mov qword [rbp - 0x18], r14
mov r14d, edi
movabs r15, 0x328d22c9e2ba00e3
mov r13, qword [0x18005cc08]
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 0x18002f077
mov r12, rax
cmp rax, 0xf
ja 0x18002ebd2
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 0x18002ec91
mov eax, r12d
and eax, 0xf
movabs rcx, 0x19de41ba56853670
or rcx, rax
mov rdx, r12
and rdx, 0xfffffffffffffff0
movabs r8, 0x19de41ba5685367f
xor r8, rdx
xor r8, rcx
or r8, rax
cmp r8, 0x17
mov ebx, 0x16
cmovae rbx, r8
cmp rbx, 0xfff
jb 0x18002ec68
lea rcx, [rbx + 0x28]
call fcn.180047c7c
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs rdi, 0x26c553cca5b37451
and rdx, rdi
movabs r8, 0xd93aac335a4c8bae
and r8, rcx
or r8, rdx
xor rdi, r8
movabs rcx, 0xd93aac335a4c8bb1
xor rcx, r8
and rdi, rcx
xor rdi, rcx
mov qword [rdi - 8], rax
jmp 0x18002ec74
lea rcx, [rbx + 1]
call fcn.180047c7c
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.180027860
mov rax, qword [0x18005cc00]
cmp byte [0x18005f082], 0
jne 0x18002ed24
movabs rcx, 0x328d22c9e2ba3554
add rcx, rax
movabs rdx, 0x328d22c9e2ba3570
add rdx, rax
xor r8d, r8d
lea r9, [0x18005f076]
nop dword [rax]
movzx r10d, byte [rdx + r8]
movzx r11d, byte [rcx + r8]
mov ebx, r11d
not bl
and bl, r10b
not r10b
mov edi, r10d
xor dil, r11b
or bl, dil
or r10b, r11b
xor bl, r10b
and r10b, dil
or r10b, bl
not r10b
or r10b, bl
mov byte [r8 + r9], r10b
inc r8
cmp r8, 0xc
jne 0x18002ece0
mov byte [0x18005f082], 1
cmp byte [0x18005e104], 0
jne 0x18002ee12
movabs rcx, 0x328d22c9e2ba143e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x328d22c9e2ba1426
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18005e101], cl
movabs rcx, 0x328d22c9e2ba143f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x328d22c9e2ba1427
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18005e102], cl
movabs rcx, 0x328d22c9e2ba1440
movzx ecx, byte [rax + rcx]
movabs rdx, 0x328d22c9e2ba1428
movzx eax, byte [rax + rdx]
mov edx, eax
not dl
or dl, cl
not cl
or cl, al
mov eax, edx
xor al, 0x89
mov r8d, ecx
xor r8b, 0x89
xor dl, 0x76
and dl, r8b
xor cl, 0x76
and cl, al
or cl, dl
mov byte [0x18005e103], cl
mov byte [0x18005e104], 1
mov r12, qword [0x18005cc10]
add r12, r15
add r15, qword [0x18005cc18]
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 0x18002ee81
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.18001b270
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.180039810
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18002eeea
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002eee5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002f071
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x18002ef3d
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002ef38
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002f071
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x18002ef7c
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002ef77
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002f071
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x18002efbb
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002efb6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002f071
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
mov rax, qword [rbp - 0x18]
mov rdi, qword [rax]
cmp qword [rbp + 0x28], 0x10
jb 0x18002efcd
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 0x18002f05a
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002f055
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002f071
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
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.180016f90
int3