Function at 0x1800197e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1e0], 0xfffffffffffffffe
mov rsi, r8
mov ebx, edx
mov rdi, rcx
mov rcx, qword [rcx + 0x38]
test rcx, rcx
je 0x1800199a0
mov r14b, byte [rdi + 0xe0]
mov qword [rbp + 0xa8], 0
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
call qword [rax]
mov qword [rbp + 0xa8], rax
lea r15, [rbp - 0x58]
lea r8, [rbp + 0x70]
mov rcx, r15
mov rdx, rsi
mov r9d, r14d
call fcn.18001dad0
mov rcx, rdi
mov rdx, r15
call fcn.18001dd60
test bl, bl
je 0x180019e92
lea rbx, [rdi + 0x48]
mov rcx, rbx
call fcn.18001a8f0
mov dword [rdi + 0x40], eax
cmp eax, 0xf
je 0x180019e92
cmp byte [0x180048840], 0
jne 0x18001992d
mov rdx, qword [0x1800467f0]
movabs rax, 0x98fbbeb044fa84a7
add rax, rdx
movabs rcx, 0x98fbbeb044fa84c0
add rcx, rdx
xor edx, edx
lea r8, [0x18004883a]
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
mov r11d, r9d
not r11b
and r11b, 0xd0
mov r14d, r9d
xor r14b, 0x2f
or r11b, r14b
mov r10d, r9d
or r10b, r11b
not r10b
mov r15d, r11d
and r15b, 0xb5
and r11b, 0x48
and r14b, 2
or r14b, 0xb4
xor r14b, r15b
or r14b, r11b
or r9b, 0x24
and r9b, 0xf4
xor r9b, r14b
xor r9b, 0xbf
and r10b, 0xd0
or r10b, r9b
xor r10b, byte [rax + rdx]
xor r10b, 0xd0
mov byte [rdx + r8], r10b
inc rdx
cmp rdx, 6
jne 0x1800198c0
mov byte [0x180048840], 1
movabs r15, 0x98fbbeb044fa5fa7
add r15, qword [0x1800467f8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1c0], xmm0
movaps xmmword [rbp + 0x1d0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18001a168
mov r14, rax
cmp rax, 0xf
ja 0x180019b20
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 0xf
lea rcx, [rbp + 0x1c0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0x1c0
jmp 0x180019cf0
movzx eax, byte [rdi + 0xe0]
mov qword [rbp + 0x160], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x168], xmm0
movups xmmword [rbp + 0x178], xmm0
mov byte [rbp + 0x188], 0
mov byte [rbp + 0x189], al
lea rdx, [rbp + 0x160]
mov rcx, rdi
call fcn.180022940
test bl, bl
je 0x18001a0dd
lea rbx, [rdi + 0x48]
mov rcx, rbx
call fcn.18001a8f0
mov dword [rdi + 0x40], eax
cmp eax, 0xf
je 0x18001a0dd
cmp byte [0x180048840], 0
jne 0x180019aad
mov rdx, qword [0x1800467f0]
movabs rax, 0x98fbbeb044fa84a7
add rax, rdx
movabs rcx, 0x98fbbeb044fa84c0
add rcx, rdx
xor edx, edx
lea r8, [0x18004883a]
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
mov r11d, r9d
not r11b
and r11b, 0xd0
mov r14d, r9d
xor r14b, 0x2f
or r11b, r14b
mov r10d, r9d
or r10b, r11b
not r10b
mov r15d, r11d
and r15b, 0xb5
and r11b, 0x48
and r14b, 2
or r14b, 0xb4
xor r14b, r15b
or r14b, r11b
or r9b, 0x24
and r9b, 0xf4
xor r9b, r14b
xor r9b, 0xbf
and r10b, 0xd0
or r10b, r9b
xor r10b, byte [rax + rdx]
xor r10b, 0xd0
mov byte [rdx + r8], r10b
inc rdx
cmp rdx, 6
jne 0x180019a40
mov byte [0x180048840], 1
movabs r15, 0x98fbbeb044fa5fa7
add r15, qword [0x1800467f8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1c0], xmm0
movaps xmmword [rbp + 0x1d0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18001a192
mov r14, rax
cmp rax, 0xf
ja 0x180019bef
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 0xf
lea rcx, [rbp + 0x1c0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0x1c0
jmp 0x180019f35
mov ecx, r14d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r14
xor r8, 0xf
mov rax, r14
xor rax, 0xfffffffffffffff0
mov r9d, r14d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r14
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 r13d, 0x16
cmovae r13, rax
cmp r13, 0xfff
jb 0x180019cbe
lea rcx, [r13 + 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 r12, 0xdff7f959df147fe2
xor r12, r9
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x180019cca
mov ecx, r14d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r14
xor r8, 0xf
mov rax, r14
xor rax, 0xfffffffffffffff0
mov r9d, r14d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r14
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 r13d, 0x16
cmovae r13, rax
cmp r13, 0xfff
jb 0x180019f03
lea rcx, [r13 + 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 r12, 0xdff7f959df147fe2
xor r12, r9
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x180019f0f
lea rcx, [r13 + 1]
call fcn.180035cbc
mov r12, rax
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], r13
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x1a0]
lea r9, [rbp + 0x1c0]
mov rcx, rdi
mov r8d, 0xf
call fcn.180021300
mov rax, qword [rdi + 0x78]
mov qword [rbp + 0x150], rax
movups xmm0, xmmword [rdi + 0x68]
movaps xmmword [rbp + 0x140], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x160]
lea r8, [rbp + 0x140]
lea r9, [rbp + 0x1a0]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0x120]
mov rcx, rbx
call fcn.1800222b0
mov byte [rbp + 0x10], 1
cmp byte [rbp + 0x58], 0
jne 0x18001a16d
mov rax, qword [rbp + 0x138]
cmp rax, 0x10
jb 0x180019db0
mov rcx, qword [rbp + 0x120]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180019dab
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::exception.0
mov qword [rbp + 0x160], rax
lea rdi, vtable.std::exception.0
mov qword [rbp + 0x180], rdi
lea rcx, [rbp + 0x188]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp + 0x160], rdi
lea rcx, [rbp + 0x168]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov rax, qword [rbp + 0x1b8]
cmp rax, 0x10
jb 0x180019e30
mov rcx, qword [rbp + 0x1a0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180019e2b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1b8], 0xf
mov byte [rbp + 0x1a0], 0
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x180019e92
mov rcx, qword [rbp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180019e8d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
cmp byte [rbp + 0x10], 0
je 0x180019ec5
lea rcx, [rbp + 0xf8]
movzx edx, byte [rsi]
mov byte [rsi], 9
mov byte [rbp + 0xf0], dl
mov rax, qword [rsi + 8]
mov qword [rsi + 8], 0
mov qword [rbp + 0xf8], rax
call fcn.18000e000
jmp 0x180019ef5
cmp byte [rsi], 9
jne 0x180019ef5
lea rcx, [rbp + 0x108]
mov byte [rsi], 0
mov byte [rbp + 0x100], 9
mov rax, qword [rsi + 8]
mov qword [rsi + 8], 0
mov qword [rbp + 0x108], rax
mov dl, 9
call fcn.18000e000
lea rcx, [rbp - 0x58]
call fcn.1800227e0
jmp 0x18001a14d
lea rcx, [r13 + 1]
call fcn.180035cbc
mov r12, rax
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], r13
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x1a0]
lea r9, [rbp + 0x1c0]
mov rcx, rdi
mov r8d, 0xf
call fcn.180021300
mov rax, qword [rdi + 0x78]
mov qword [rbp + 0x150], rax
movups xmm0, xmmword [rdi + 0x68]
movaps xmmword [rbp + 0x140], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0xb0]
lea r8, [rbp + 0x140]
lea r9, [rbp + 0x1a0]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0x120]
mov rcx, rbx
call fcn.1800222b0
mov byte [rbp + 0x188], 1
cmp byte [rbp + 0x189], 0
jne 0x18001a197
mov rax, qword [rbp + 0x138]
cmp rax, 0x10
jb 0x180019ffb
mov rcx, qword [rbp + 0x120]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180019ff6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::exception.0
mov qword [rbp + 0xb0], rax
lea rdi, vtable.std::exception.0
mov qword [rbp + 0xd0], rdi
lea rcx, [rbp + 0xd8]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp + 0xb0], rdi
lea rcx, [rbp + 0xb8]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov rax, qword [rbp + 0x1b8]
cmp rax, 0x10
jb 0x18001a07b
mov rcx, qword [rbp + 0x1a0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001a076
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1b8], 0xf
mov byte [rbp + 0x1a0], 0
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x18001a0dd
mov rcx, qword [rbp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001a0d8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001a162
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
cmp byte [rbp + 0x188], 0
je 0x18001a111
lea rcx, [rbp + 0x118]
movzx edx, byte [rsi]
mov byte [rsi], 9
mov byte [rbp + 0x110], dl
mov rax, qword [rsi + 8]
mov qword [rsi + 8], 0
mov qword [rbp + 0x118], rax
call fcn.18000e000
mov rcx, qword [rbp + 0x168]
test rcx, rcx
je 0x18001a14d
mov rdx, qword [rbp + 0x178]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18001a148
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18001a162
add rdx, 0x27
mov rcx, rax
call fcn.180035d00
nop
add rsp, 0x268
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
lea rsi, [rbp + 0xb0]
lea rdx, [rbp + 0x160]
mov rcx, rsi
call fcn.18002be30
lea rdx, [0x18003e800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
call fcn.18000d970
lea rsi, [rbp - 0x58]
lea rdx, [rbp + 0xb0]
mov rcx, rsi
call fcn.18002be30
lea rdx, [0x18003e800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3