Function at 0x180031c40
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 rbx, r8
mov r14d, 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.18003c8f0
mov qword [rbp - 0x18], rbx
cmp byte [0x180062231], 0
jne 0x180031e3e
mov rax, qword [0x18005fc80]
movabs rcx, 0x5eb87dcfd70c69af
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c2
xor cl, byte [rax + rdx]
mov byte [0x180062225], cl
movabs rcx, 0x5eb87dcfd70c69b0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c3
xor cl, byte [rax + rdx]
mov byte [0x180062226], cl
movabs rcx, 0x5eb87dcfd70c69b1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c4
xor cl, byte [rax + rdx]
mov byte [0x180062227], cl
movabs rcx, 0x5eb87dcfd70c69b2
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c5
xor cl, byte [rax + rdx]
mov byte [0x180062228], cl
movabs rcx, 0x5eb87dcfd70c69b3
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c6
xor cl, byte [rax + rdx]
mov byte [0x180062229], cl
movabs rcx, 0x5eb87dcfd70c69b4
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c7
xor cl, byte [rax + rdx]
mov byte [0x18006222a], cl
movabs rcx, 0x5eb87dcfd70c69b5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c8
xor cl, byte [rax + rdx]
mov byte [0x18006222b], cl
movabs rcx, 0x5eb87dcfd70c69b6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69c9
xor cl, byte [rax + rdx]
mov byte [0x18006222c], cl
movabs rcx, 0x5eb87dcfd70c69b7
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69ca
xor cl, byte [rax + rdx]
mov byte [0x18006222d], cl
movabs rcx, 0x5eb87dcfd70c69b8
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69cb
xor cl, byte [rax + rdx]
mov byte [0x18006222e], cl
movabs rcx, 0x5eb87dcfd70c69b9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69cc
xor cl, byte [rax + rdx]
mov byte [0x18006222f], cl
movabs rcx, 0x5eb87dcfd70c69ba
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c69cd
xor cl, byte [rax + rdx]
mov byte [0x180062230], cl
mov byte [0x180062231], 1
movabs r15, 0x5eb87dcfd70c31fa
mov r13, qword [0x18005fc88]
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 0x180032379
mov r12, rax
cmp rax, 0xf
ja 0x180031e9e
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 0x180031f66
mov rax, r12
xor rax, 0xf
mov rcx, r12
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r12
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r12
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov ebx, 0x16
cmovae rbx, rdx
cmp rbx, 0xfff
jb 0x180031f3d
lea rcx, [rbx + 0x28]
call fcn.18004a3a8
mov rdi, 0xffffffffffffffd8
sub rdi, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and rdi, r8
or rdi, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, rdi
xor rdi, r8
and rdi, rdx
mov qword [rdi - 8], rax
jmp 0x180031f49
lea rcx, [rbx + 1]
call fcn.18004a3a8
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.18002a3a0
mov rax, qword [0x18005fc80]
cmp byte [0x180062224], 0
jne 0x18003202e
movabs rcx, 0x5eb87dcfd70c6970
add rcx, rax
movabs rdx, 0x5eb87dcfd70c6984
add rdx, rax
xor r8d, r8d
lea r9, [0x180062218]
nop word cs:[rax + rax]
movzx r10d, byte [rdx + r8]
movzx r11d, byte [rcx + r8]
mov ebx, r11d
and bl, 0x6d
xor r10b, 0x92
xor bl, 0x2c
and bl, r11b
mov edi, r11d
and dil, 0x92
xor dil, 0xbe
mov r12d, r11d
or r12b, 0x92
xor r12b, bl
and bl, 0x41
and r12b, dil
or r12b, bl
mov ebx, r11d
xor bl, 0x6d
xor r11b, 0x92
or r11b, bl
not r11b
or r11b, r12b
mov ebx, r10d
xor bl, r10b
xor bl, r11b
and bl, r11b
xor bl, r10b
mov byte [r8 + r9], bl
inc r8
cmp r8, 0xc
jne 0x180031fc0
mov byte [0x180062224], 1
cmp byte [0x18006118f], 0
jne 0x180032114
movabs rcx, 0x5eb87dcfd70c45c4
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c45a8
movzx edx, byte [rax + rdx]
not dl
mov r8d, ecx
or r8b, dl
and dl, cl
mov ecx, r8d
xor cl, 0x14
mov r9d, edx
xor r9b, 0xeb
xor r8b, 0xeb
and r8b, r9b
xor dl, 0x14
and dl, cl
or dl, r8b
mov byte [0x18006118c], dl
movabs rcx, 0x5eb87dcfd70c45c5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c45a9
movzx edx, byte [rax + rdx]
not dl
mov r8d, ecx
or r8b, dl
and dl, cl
mov ecx, r8d
xor cl, 0x14
mov r9d, edx
xor r9b, 0xeb
xor r8b, 0xeb
and r8b, r9b
xor dl, 0x14
and dl, cl
or dl, r8b
mov byte [0x18006118d], dl
movabs rcx, 0x5eb87dcfd70c45c6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5eb87dcfd70c45aa
movzx eax, byte [rax + rdx]
not al
mov edx, ecx
or dl, al
and al, cl
mov ecx, edx
xor cl, 0x14
mov r8d, eax
xor r8b, 0xeb
xor dl, 0xeb
and dl, r8b
xor al, 0x14
and al, cl
or al, dl
mov byte [0x18006118e], al
mov byte [0x18006118f], 1
mov r12, qword [0x18005fc90]
add r12, r15
add r15, qword [0x18005fc98]
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 0x180032183
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.18001dae0
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.18003ccd0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x1800321ec
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800321e7
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180032373
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x18003223f
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18003223a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180032373
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x18003227e
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180032279
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180032373
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1800322bd
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800322b8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180032373
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, qword [rbp - 0x18]
mov rdi, qword [rax]
cmp qword [rbp + 0x28], 0x10
jb 0x1800322cf
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 0x18003235c
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180032357
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180032373
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
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.180019a20
int3