Function at 0x140058fb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov r14, r8
mov rdi, rdx
mov rbx, rcx
xor r15d, r15d
mov dword [rsp + 0x50], r15d
mov rcx, qword [rdx + 0x10]
mov rax, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x140058ff8
mov rax, qword [rdx]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140047fa0
nop
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rsp + 0x78]
call fcn.14006adb0
mov r8d, eax
test eax, eax
jne 0x14005908c
mov edx, dword [rbp - 0x78]
test dl, 1
mov ecx, 0x1ff
mov eax, 0x16d
cmovne ecx, eax
mov dword [rsp + 0x34], ecx
bt edx, 0xa
jae 0x14005907e
mov eax, dword [rbp - 0x74]
cmp eax, 0xa000000c
jne 0x140059070
lea eax, [r8 + 4]
jmp 0x1400590b0
cmp eax, 0xa0000003
jne 0x14005907e
mov eax, 0xa
jmp 0x1400590b0
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x1400590b0
mov dword [rsp + 0x34], 0xffff
sub eax, 2
je 0x1400590ab
sub eax, 1
je 0x1400590ab
sub eax, 0x32
je 0x1400590ab
cmp eax, 0x46
mov eax, r15d
jne 0x1400590b0
mov eax, 1
mov dword [rsp + 0x30], r8d
lea rcx, [0x14049d758]
mov qword [rsp + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
je 0x14005916c
cmp eax, 1
sete sil
lea rcx, [rsp + 0x58]
call fcn.14005ea30
test sil, sil
je 0x14005917d
mov dword [rsp + 0x30], 0xa4acd6f8
mov dword [rsp + 0x34], 0xb1ab8de2
mov dword [rsp + 0x38], 0xbca781e6
mov dword [rsp + 0x3c], 0x100afa4
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x42]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xe
jb 0x140059120
mov byte [rsp + 0x3f], 0
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140059150
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140047e10
jmp 0x140059329
mov sil, 1
test r8d, r8d
jne 0x14005939a
jmp 0x1400590db
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140054340
nop
mov qword [rbp - 0x30], r15
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.1400514f0
nop
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.140054850
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140057540
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov dword [rsp + 0x50], reloc.WS2_32.dll_select
cmp byte [rax], 3
jne 0x14005934d
mov rdx, qword [rax + 8]
cmp rbx, rdx
je 0x14005921e
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140059215
mov rdx, qword [rdx]
mov rcx, rbx
call fcn.14005f500
nop
movzx edx, byte [rsp + 0x40]
cmp dl, 1
jne 0x140059253
cmp qword [rsp + 0x48], 0
jne 0x1400592d7
mov r8d, 0x4db4
lea rdx, str.C:UserslasagDesktopSTUFFCoca_Cola___PonaraCocaDMACocaDMAjson.hpp
lea rcx, str.m_type___value_t::object__m_value.object___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x40]
cmp dl, 2
jne 0x14005927f
cmp qword [rsp + 0x48], 0
jne 0x1400592d7
mov r8d, 0x4db5
lea rdx, str.C:UserslasagDesktopSTUFFCoca_Cola___PonaraCocaDMACocaDMAjson.hpp
lea rcx, str.m_type___value_t::array__m_value.array___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x40]
cmp dl, 3
jne 0x1400592ab
cmp qword [rsp + 0x48], 0
jne 0x1400592d7
mov r8d, 0x4db6
lea rdx, str.C:UserslasagDesktopSTUFFCoca_Cola___PonaraCocaDMACocaDMAjson.hpp
lea rcx, str.m_type___value_t::string__m_value.string___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x40]
cmp dl, 8
jne 0x1400592d7
cmp qword [rsp + 0x48], 0
jne 0x1400592d7
mov r8d, 0x4db7
lea rdx, str.C:UserslasagDesktopSTUFFCoca_Cola___PonaraCocaDMACocaDMAjson.hpp
lea rcx, str.m_type___value_t::binary__m_value.binary___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.14005fbc0
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x24], edx
lea rcx, [rbp - 0x10]
call fcn.140056080
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x90]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, rdi
call fcn.140056120
nop
mov rcx, r14
call fcn.140056120
mov rax, rbx
add rsp, 0x1f8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, rsi
call fcn.1400662e0
mov qword [rbp + 0x148], rax
lea r8, [rbp + 0x148]
lea rdx, str.type_must_be_string__but_is
lea rcx, [rsp + 0x58]
call fcn.14004a860
nop
mov r9, rsi
mov r8, rax
mov edx, 0x12e
lea rcx, [rbp - 0x68]
call fcn.14004b6e0
lea rdx, [0x14047fa10]
lea rcx, [rbp - 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.14005e6f0
int3