Function at 0x180026c90
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]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rbx, r8
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
cmp byte [0x180048919], 0
jne 0x180026df7
mov qword [rbp - 0x58], rbx
mov dword [rbp + 0x3c], edi
mov qword [rbp - 0x60], rsi
mov rdx, qword [0x180046b70]
movabs rax, 0x7396b4104e868ea3
add rax, rdx
movabs rcx, 0x7396b4104e868ebf
add rcx, rdx
xor edx, edx
lea r8, [0x18004890c]
nop word cs:[rax + rax]
movzx edi, byte [rcx + rdx]
movzx r14d, byte [rax + rdx]
mov r12d, r14d
not r12b
mov r13d, edi
and r13b, 0x40
mov r11d, r12d
and r11b, 0x98
mov esi, r14d
and sil, 0x67
mov r10d, esi
not r10b
mov r9d, edi
and r9b, 0x98
or r13b, 0x90
xor r9b, 0xd0
and r9b, r13b
and dil, 0x2f
or dil, r9b
mov r9d, r14d
and r9b, 7
mov ebx, r12d
and bl, 0x10
mov r15d, r10d
and r15b, 0x20
or r15b, 5
xor r15b, r9b
mov r13d, r14d
and r13b, 0x40
or r13b, r15b
mov r9d, r14d
and r9b, 0x88
or r9b, bl
or r9b, 0x20
or r13b, 8
xor r13b, r9b
and r12b, 0x18
mov r9d, r14d
and r9b, 0x80
or r9b, r12b
and r14b, 0x62
and r10b, 0x85
or r10b, r14b
or r9b, 5
xor r9b, r10b
or sil, r11b
not r9b
and r9b, sil
xor r13b, 0x85
or r13b, r9b
xor r13b, dil
xor r13b, 8
mov byte [rdx + r8], r13b
inc rdx
cmp rdx, 0xd
jne 0x180026d20
mov byte [0x180048919], 1
mov rsi, qword [rbp - 0x60]
mov edi, dword [rbp + 0x3c]
mov rbx, qword [rbp - 0x58]
movabs r15, 0x7396b4104e86676f
add r15, qword [0x180046b78]
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180027122
mov r14, rax
cmp rax, 0xf
ja 0x180026e51
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 0xf
lea rcx, [rbp + 0x10]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0x10
jmp 0x180026f42
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 0x180026f19
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 0x180026f25
lea rcx, [r13 + 1]
call fcn.180035cbc
mov r12, rax
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 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 - 0x50]
lea rdx, [rbp + 0x10]
mov r8d, edi
call fcn.1800188b0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 0
mov rdx, qword [rbp]
add rdx, qword [rbp - 0x40]
mov qword [rbp - 0x18], 0xf
add rdx, qword [rbx + 0x10]
cmp rdx, 0x10
jb 0x180026f90
lea rcx, [rbp - 0x30]
call fcn.180018f70
mov qword [rbp - 0x20], 0
lea r14, [rbp - 0x30]
lea rdx, [rbp - 0x50]
lea r8, [rbp - 0x10]
mov rcx, r14
mov r9, rbx
call fcn.180018e40
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x180026fe6
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180026fe1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180027127
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x180027039
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180027034
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180027127
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x180027078
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180027073
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180027127
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
cmp qword [rbp - 0x18], 0x10
jb 0x180027083
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 - 0x10], r14
mov byte [rbp - 8], 1
lea rcx, [rbp - 0x10]
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::out_of_range.0
mov qword [rsi], rax
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18002710b
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180027106
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180027127
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.18000d970
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3