Function at 0x140078410
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x14012fe80]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r15, r8
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 8], rdx
mov qword [rbp], r8
xor r12d, r12d
mov dword [rsp + 0x50], r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x70], 7
cmp qword [rdx + 0x18], 0xf
jbe 0x140078479
mov rdx, qword [rdx]
mov rcx, rdx
jmp 0x14007847c
mov rcx, r14
add rdx, qword [r14 + 0x10]
mov qword [rsp + 0x68], r12
mov word [rsp + 0x58], r12w
xor r9d, r9d
lea r8, [rsp + 0x58]
call qword [sym.imp.boost_filesystem_vc142_mt_x64_1_85.dll_void___cdecl_boost::filesystem::detail::path_traits::convert_char_const____ptr64__char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_std::codecvt_wchar_t__char__struct__Mbstatet__const____ptr64_]
nop
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call qword [sym.imp.boost_filesystem_vc142_mt_x64_1_85.dll_class_boost::filesystem::file_status___cdecl_boost::filesystem::detail::status_class_boost::filesystem::path_const____ptr64__class_boost::system::error_code____ptr64_]
cmp dword [rax], 1
setbe bl
lea rcx, [rsp + 0x58]
call fcn.14004f7a0
test bl, bl
je 0x14007869f
movsd xmm0, qword [str.u_YS]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x1400fe8d0]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400fe8d4]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1400fe8d6]
mov byte [rsp + 0x3e], al
mov ecx, r12d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400785f1
movdqa xmm4, xmmword [0x1400ff140]
movdqa xmm2, xmmword [0x1400fd180]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.9999]
psubd xmm2, xmm0
andps xmm2, xmmword [0x1400fd1b0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400fd1c0]
movd xmm0, dword [str.u_YS]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm2, xmmword [0x1400fd190]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.9999]
psubd xmm2, xmm0
andps xmm2, xmmword [0x1400fd1b0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400fd1c0]
movd xmm0, dword [rsp + 0x34]
xorps xmm2, xmm0
movd dword [rsp + 0x34], xmm2
mov ecx, 8
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
sub al, dl
add al, 0x33
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xf
jl 0x140078600
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
lea rax, [rsp + 0x30]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140078650
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140003430
nop
mov rcx, r14
call fcn.1400031a0
nop
mov rcx, r15
call fcn.1400031a0
mov rax, rsi
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1400e8130
add rsp, 0x240
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 1
mov rdx, r14
lea rcx, [rbp + 0x20]
call fcn.140076dd0
nop
mov ecx, Ordinal_41
call fcn.1400e7fd8
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140078734
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_nlohmann::detail::input_stream_adapter_.0
mov qword [rbx], rax
lea rax, vtable.nlohmann::detail::input_stream_adapter.0
mov qword [rbx + 0x10], rax
lea rax, [rbp + 0x20]
mov qword [rbx + 0x18], rax
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x20]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ios_char__struct_std::char_traits_char__::rdbuf_void_const___ptr64]
mov qword [rbx + 0x20], rax
jmp 0x140078737
mov rbx, r12
lea rax, [rbx + 0x10]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rbp - 0x10], r12
mov r9b, 1
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 8]
call fcn.14007cec0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14007879e
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14007879e
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14007879e
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
movzx eax, byte [rbp + 8]
test al, al
jne 0x1400787bc
mov byte [rbp + 8], 1
call fcn.140073430
mov rcx, rax
mov qword [rbp + 0x10], rax
movzx eax, byte [rbp + 8]
jmp 0x1400787c0
mov rcx, qword [rbp + 0x10]
cmp al, 1
jne 0x1400788b8
mov rdx, r15
call fcn.140077dc0
nop
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], 0
mov dword [rsp + 0x50], 0xa
cmp byte [rax], 3
jne 0x14007886b
mov r8, qword [rax + 8]
cmp rsi, r8
je 0x140078816
mov rdx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140078809
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rsi
call fcn.140024c00
nop
lea rcx, [rbp + 8]
call fcn.1400776e0
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 + 0x1c], edx
lea rcx, [rbp + 0x30]
call fcn.1400456a0
lea rcx, [rbp + 0x38]
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 + 0xd0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x14007866a
mov rcx, rax
call fcn.14007f460
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140013260
nop
mov r8, rax
lea rdx, str.type_must_be_string__but_is
lea rcx, [rsp + 0x30]
call fcn.14000a620
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rbp - 0x80]
call fcn.140079ea0
lea rdx, [0x1401278d8]
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rbp + 8]
call fcn.14007f460
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140013260
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with
lea rcx, [rsp + 0x30]
call fcn.14000a620
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp - 0x80]
call fcn.140079ea0
lea rdx, [0x1401278d8]
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll__CxxThrowException
int3