Function at 0x1400521a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov r12, r9
mov r15, r8
mov r13, rdx
mov rsi, rcx
xor ebx, ebx
mov dword [rsp + 0x50], ebx
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x60], rax
mov qword [rbp + 0xe0], rbx
lea rax, [rbp - 0x18]
mov qword [rsp + 0x58], rax
lea rdx, [0x1401c9aa0]
lea rcx, [rbp - 0x18]
call fcn.140056980
mov rdi, rax
mov rdx, r13
lea rcx, [rbp + 8]
call fcn.140056980
nop
mov r9, rdi
mov r8, rax
lea rdx, [rbp + 0x28]
call fcn.140045370
nop
lea r8, [rbp + 0xa8]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14005a660
nop
lea rcx, [rbp + 0x28]
call fcn.1400588c0
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], select
mov byte [rsi], bl
mov dword [rsp + 0x50], 1
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x40]
call fcn.140055e30
cmp byte [rsp + 0x40], 1
jne 0x1400522af
mov r8, r15
lea rdx, [rbp - 0x58]
mov r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.1400624b0
mov rdi, qword [rbp - 0x48]
cmp byte [rdi + 0x19], bl
jne 0x1400522a8
lea r8, [rdi + 0x20]
mov rdx, r15
call fcn.140067480
test al, al
je 0x1400522ab
mov rdi, qword [r14]
mov qword [rbp - 0x30], rdi
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140058460
mov rdi, qword [rbp - 0x80]
test rdi, rdi
jne 0x1400522e0
mov r8d, 0x32e9
lea rdx, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.38.33130includem_includesjsonjson.hpp
lea rcx, str.m_object___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx eax, byte [rdi]
cmp eax, 9
ja case.0x1400522f9.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x52470]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x78], rcx
jmp 0x14005231e
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x70], rcx
jmp 0x14005231e
mov qword [rbp - 0x68], 1
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x38]
call fcn.14005a780
test al, al
je 0x1400523c6
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
mov rdx, r12
lea rcx, [rbp - 0x58]
call fcn.140056980
mov r8, rax
lea rdx, [rbp + 0x48]
call fcn.1400452a0
mov rbx, rax
mov rdx, r15
lea rcx, [rbp + 0x68]
call fcn.140056980
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140055ef0
lea rdx, [rbp + 0x88]
mov rcx, rax
call fcn.14005a870
nop
mov r9, rbx
mov r8, rax
lea rdx, [rsp + 0x60]
call fcn.140045370
nop
lea rax, [rsp + 0x60]
cmp rsi, rax
je 0x1400523ba
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rcx, rsi
call fcn.140058960
nop
lea rcx, [rsp + 0x60]
call fcn.1400588c0
jmp 0x140052418
mov dword [rsp + 0x30], 0x32243f39
mov dword [rsp + 0x34], 0x323c38
mov byte [rsp + 0x38], 1
nop dword [rax + rax]
lea eax, [rbx + 0x50]
xor byte [rsp + rbx + 0x30], al
inc rbx
cmp rbx, 7
jb 0x1400523e0
mov byte [rsp + 0x38], 0
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140052401
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140058960
lea rcx, [rsp + 0x40]
call fcn.140055ce0
nop
lea rcx, [rsp + 0x40]
call fcn.140058790
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140057ff0
nop
mov rcx, r13
call fcn.1400588c0
nop
mov rcx, r15
call fcn.1400588c0
nop
mov rcx, r12
call fcn.1400588c0
mov rax, rsi
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret