Function at 0x180039120
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov rbx, r8
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
cmp byte [0x180062141], 0
jne 0x18003929b
mov rdx, qword [0x18005fe68]
movabs rax, 0xb06e16c77725bc2c
add rax, rdx
movabs rcx, 0xb06e16c77725bc3f
add rcx, rdx
movabs r8, 0xb06e16c77725bc50
add r8, rdx
lea rdx, [0x180062130]
cmp r8, rdx
jbe 0x1800391c2
lea r8, [0x180062141]
cmp rax, r8
jae 0x1800391c2
xor r8d, r8d
jmp 0x180039240
movdqu xmm1, xmmword [rcx]
movdqu xmm2, xmmword [rax]
pcmpeqd xmm3, xmm3
pxor xmm3, xmm1
pandn xmm1, xmm2
por xmm3, xmm2
movdqa xmm2, xmmword [0x1800500c0]
movdqa xmm4, xmm1
pxor xmm4, xmm2
movdqa xmm5, xmmword [0x180050070]
movdqa xmm6, xmm3
pand xmm6, xmm5
por xmm6, xmmword [0x180050650]
pand xmm3, xmm2
pxor xmm3, xmm6
movdqa xmm2, xmmword [0x180050660]
pxor xmm2, xmm3
pxor xmm1, xmm5
pand xmm1, xmm2
pxor xmm3, xmmword [str.]
pand xmm3, xmm4
por xmm3, xmm1
movdqa xmmword [0x180062130], xmm3
mov r8d, 0x10
nop dword [rax]
movzx r9d, byte [rcx + r8]
movzx r10d, byte [rax + r8]
not r9b
mov r11d, r10d
and r11b, r9b
or r9b, r10b
mov r10d, r11d
xor r10b, 0xef
mov r14d, r9d
and r14b, 0x10
or r14b, 0xc9
and r9b, 0xef
xor r9b, r14b
mov r14d, r9d
xor r14b, 0xd9
xor r11b, 0x10
and r11b, r14b
xor r9b, 0x26
and r9b, r10b
or r9b, r11b
mov byte [r8 + rdx], r9b
inc r8
cmp r8, 0x11
jne 0x180039240
mov byte [0x180062141], 1
movabs r15, 0xb06e16c7772587ad
add r15, qword [0x18005fe70]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18003959d
mov r14, rax
cmp rax, 0xf
ja 0x1800392f0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], 0xf
mov rcx, rbp
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
jmp 0x1800393ba
mov rax, r14
xor rax, 0xf
mov rcx, r14
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r14
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r14
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov r13d, 0x16
cmovae r13, rdx
cmp r13, 0xfff
jb 0x180039391
lea rcx, [r13 + 0x28]
call fcn.18004a3a8
mov r12, 0xffffffffffffffd8
sub r12, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r12, r8
or r12, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r12
xor r12, r8
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x18003939d
lea rcx, [r13 + 1]
call fcn.18004a3a8
mov r12, rax
mov qword [rbp], r12
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r13
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rcx, [rbp - 0x60]
mov rdx, rbp
mov r8d, edi
call fcn.18002a3a0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 0
mov rdx, qword [rbp - 0x10]
add rdx, qword [rbp - 0x50]
mov qword [rbp - 0x28], 0xf
add rdx, qword [rbx + 0x10]
cmp rdx, 0x10
jb 0x180039407
lea rcx, [rbp - 0x40]
call fcn.18001dae0
mov qword [rbp - 0x30], 0
lea r14, [rbp - 0x40]
lea rdx, [rbp - 0x60]
lea r8, [rbp - 0x20]
mov rcx, r14
mov r9, rbx
call fcn.18002a820
mov rax, qword [rbp - 0x48]
cmp rax, 0x10
jb 0x18003945d
mov rcx, qword [rbp - 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180039458
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800395a2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rax, qword [rbp + 0x18]
cmp rax, 0x10
jb 0x1800394b0
mov rcx, qword [rbp]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800394ab
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800395a2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1800394ef
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800394ea
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800395a2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
cmp qword [rbp - 0x28], 0x10
jb 0x1800394fa
mov r14, qword [rbp - 0x40]
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 - 0x20], r14
mov byte [rbp - 0x18], 1
lea rcx, [rbp - 0x20]
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::invalid_iterator.0
mov qword [rsi], rax
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x180039582
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18003957d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800395a2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x30]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.180019a20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3