Function at 0x18000ec24
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x458]
sub rsp, 0x530
mov qword [rbp + 0xb0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x60], rsi
lea r13d, [rsi + 7]
mov qword [rsp + 0x68], r13
mov word [rsp + 0x50], si
mov dword [rsp + 0x3c], 0x69
mov byte [rsp + 0x40], 0x1c
mov byte [rsp + 0x41], 0x1a
mov byte [rsp + 0x42], 0xc
mov byte [rsp + 0x43], 0x1b
mov byte [rsp + 0x44], 0x47
mov byte [rsp + 0x45], 0xd
mov byte [rsp + 0x46], 8
mov byte [rsp + 0x47], 0x1d
xor eax, eax
mov byte [rsp + 0x48], al
mov al, byte [rsp + 0x40]
mov r8d, esi
lea r14d, [rsi + 1]
movsx edx, byte [rsp + r8 + 0x40]
mov eax, dword [rsp + 0x3c]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rsp + r8 + 0x40], al
add r8, r14
cmp r8, 8
jb 0x18000ecad
mov byte [rsp + 0x48], sil
lea rax, [0x18001ad70]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rsp + 0x70], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rax, [rbp - 0x50]
mov qword [rbp + 0x468], rax
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp - 0x50], rax
mov byte [rbp + 0x2c], sil
mov byte [rbp + 0x22], sil
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::_Init_void____ptr64]
mov qword [rbp + 0x30], rsi
mov rax, qword [0x180021f58]
mov qword [rbp + 0x24], rax
mov qword [rbp + 0x18], rsi
mov r8d, r14d
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.180010ad8
test rax, rax
jne 0x18000eda3
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x50], 6
jne 0x18000ee5f
lea rax, [rbp - 0x60]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
movzx r8d, ax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.18001181c
lea rcx, [rsp + 0x50]
call fcn.18000eb44
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.180010e3c
mov rbx, rax
mov qword [rbp + 0x468], rax
cmp dword [0x180021c18], esi
je 0x18000ee32
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x18000ee11
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.180011690
mov rcx, rax
lea rdx, [0x180010e00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
mov rcx, rbx
call fcn.180005b3c
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], r13
mov word [rsp + 0x50], si
jmp 0x18000f116
lea rdx, str.rt__ccsUNICODE
lea rcx, str._C:Program_Files__x86_Wegamequeryex_
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wpopen]
mov rbx, rax
test rax, rax
jne 0x18000eea0
lea rdx, str.Failed_to_execute_command.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180010c2c
mov rcx, rax
lea rdx, [0x180010db4]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x18000ee3a
mov r8, rbx
mov edx, 0x200
lea rcx, [rbp + 0x230]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
test rax, rax
je 0x18000f002
or r15, 0xffffffffffffffff
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x78]
call fcn.1800060ec
nop
lea rdx, [0x18001acbc]
lea rcx, [rsp + 0x78]
call fcn.18000f7d0
cmp rax, r15
je 0x18000ef64
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.180011690
lea rax, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rax, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x18000ef46
mov r9, rax
cmp word [r9], 0x63
je 0x18000ef39
add r9, 2
sub rcx, r14
jne 0x18000ef26
mov r9, rsi
test r9, r9
je 0x18000ef46
sub r9, rax
sar r9, 1
jmp 0x18000ef49
mov r9, r15
lea rcx, [rsp + 0x78]
cmp r9, r15
jne 0x18000efbb
lea rdx, [0x18001acc0]
call fcn.18000f7d0
cmp rax, r15
jne 0x18000ef8d
lea rcx, [rsp + 0x78]
call fcn.180005b3c
mov r8, rbx
mov edx, 0x200
lea rcx, [rbp + 0x230]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
test rax, rax
je 0x18000effb
jmp 0x18000eec2
lea r9, [rax - 1]
mov r8, r14
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x78]
call fcn.18000db30
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18000f8b8
lea rcx, [rbp + 0xd8]
jmp 0x18000efe1
dec r9
mov r8, r14
lea rdx, [rbp + 0xf8]
call fcn.18000db30
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18000f8b8
lea rcx, [rbp + 0xf8]
call fcn.180005b3c
lea rcx, [rsp + 0x50]
call fcn.18000eb44
nop
lea rcx, [rsp + 0x78]
call fcn.180005b3c
lea r15, vtable.std::basic_ifstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__pclose]
mov byte [rsp + 0x30], 0x81
mov byte [rsp + 0x31], 0x7f
mov byte [rsp + 0x32], WSAStartup
mov byte [rsp + 0x33], 0x7e
mov byte [rsp + 0x34], 0x3a
mov byte [rsp + 0x35], WSAStartup
mov byte [rsp + 0x36], 0x6d
mov byte [rsp + 0x37], 0x80
mov byte [rsp + 0x38], sil
mov al, byte [rsp + 0x30]
mov rdx, rsi
movsx ecx, byte [rsp + rdx + 0x30]
sub ecx, 0xc
mov byte [rsp + rdx + 0x30], cl
add rdx, r14
cmp rdx, 8
jb 0x18000f03f
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x120]
call fcn.18000f948
nop
mov rcx, qword [rbp + 0x120]
movsxd rax, dword [rcx + 4]
test byte [rbp + rax + 0x130], 6
jne 0x18000f0a4
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rcx, [rbp + 0x120]
call fcn.180011690
mov rcx, qword [rbp + 0x120]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], r13
mov word [rsp + 0x50], si
movsxd rax, dword [rcx + 4]
lea rcx, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rax + 0x120], rcx
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x11c], edx
lea rcx, [rbp + 0x128]
call fcn.180010284
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x1c8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.180010284
lea rcx, [rbp - 0x48]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call fcn.180005b3c
mov rax, rdi
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret