Function at 0x1400042c0
Capabilities:
Create thread
Get common file path
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x140010040]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov qword [rsp + 0x38], rdx
xor ebx, ebx
mov dword [rsp + 0x30], ebx
lea rax, [rsp + 0x40]
mov qword [rbp + 0x140], rax
lea rax, [0x14000be50]
mov qword [rsp + 0x40], rax
lea rax, [0x14000bd20]
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x28]
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 + 0x30], 1
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x58]
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_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x38], ebx
lea rdx, str.__Age_of_Empires_IV___aoeliverelease1_Server__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
lea rdx, [0x140006b90]
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]
lea rdx, [0x14000a9b4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
lea rbx, [0x140010fa0]
mov rdx, rbx
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x1400043e6
mov rdx, rbx
lea r14, [0x140010160]
mov rcx, r14
call fcn.1400066f0
mov r15, qword [0x140010170]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 0x12
jb 0x140004c53
mov r13, r14
cmp qword [0x140010178], 0xf
cmova r13, qword [0x140010160]
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
lea r12, [r15 + 0x12]
mov ebx, recv
mov edi, ebx
lea rsi, [rbp + 0x140]
movabs rax, 0x8000000000000000
lea edx, [rbx + 7]
cmp r12, rbx
jbe 0x1400044d0
mov rdi, r12
or rdi, rbx
cmp rdi, rcx
jbe 0x140004478
mov rdi, rcx
add rax, 0x27
jmp 0x140004499
cmp rdi, rdx
cmovb rdi, rdx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400044b8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004766
mov rcx, rax
call fcn.140008040
test rax, rax
je 0x140004b40
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400044c9
test rcx, rcx
je 0x1400044c7
call fcn.140008040
mov rsi, rax
jmp 0x1400044c9
xor esi, esi
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], rdi
mov r8, r15
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str._steamclient64.dll]
movups xmmword [rsi + r15], xmm0
movzx eax, word [0x14000bb90]
mov word [rsi + r15 + 0x10], ax
mov byte [rsi + r12], 0
mov rdx, qword [0x1400101d8]
cmp rdx, rbx
jbe 0x14000454a
mov rcx, qword [0x1400101c0]
inc rdx
cmp rdx, 0x1000
jb 0x140004545
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004b40
mov rcx, r8
call fcn.1400082bc
movups xmm0, xmmword [rbp + 0x140]
movups xmmword [0x1400101c0], xmm0
movups xmm1, xmmword [rbp + 0x150]
movups xmmword [0x1400101d0], xmm1
mov r15, qword [0x140010170]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 8
jb 0x140004c53
mov r13, r14
cmp qword [0x140010178], rbx
cmova r13, qword [0x140010160]
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
lea r12, [r15 + 8]
mov rdi, rbx
lea rsi, [rbp + 0x140]
cmp r12, rbx
jbe 0x140004632
mov rdi, r12
or rdi, rbx
cmp rdi, rcx
jbe 0x1400045d4
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400045fb
cmp rdi, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14000461a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004766
mov rcx, rax
call fcn.140008040
test rax, rax
je 0x140004b40
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000462b
test rcx, rcx
je 0x140004629
call fcn.140008040
mov rsi, rax
jmp 0x14000462b
xor esi, esi
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], rdi
mov r8, r15
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movabs rax, 0x6578652e6970615c
mov qword [rsi + r15], rax
mov byte [rsi + r12], 0
mov rdx, qword [0x140010138]
cmp rdx, rbx
jbe 0x1400046a1
mov rcx, qword [0x140010120]
inc rdx
cmp rdx, 0x1000
jb 0x14000469c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004b40
mov rcx, r8
call fcn.1400082bc
movups xmm0, xmmword [rbp + 0x140]
movups xmmword [0x140010120], xmm0
movups xmm1, xmmword [rbp + 0x150]
movups xmmword [0x140010130], xmm1
mov rsi, qword [0x140010170]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rsi
cmp rax, 0xa
jb 0x140004c53
cmp qword [0x140010178], rbx
cmova r14, qword [0x140010160]
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
lea r15, [rsi + 0xa]
lea rdi, [rbp + 0x140]
cmp r15, rbx
jbe 0x140004784
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x140004743
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140008040
test rax, rax
je 0x140004b40
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000477d
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14000476c
lea rax, [rcx + 0x27]
cmp rax, rcx
ja 0x140004724
call fcn.140001220
int3
test rcx, rcx
je 0x14000477b
call fcn.140008040
mov rdi, rax
jmp 0x14000477d
xor edi, edi
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x150], r15
mov qword [rbp + 0x158], rbx
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.login.exe]
movsd qword [rdi + rsi], xmm0
movzx eax, word [0x14000bba0]
mov word [rdi + rsi + 8], ax
mov byte [rdi + r15], 0
mov rdx, qword [0x1400100f8]
cmp rdx, 0xf
jbe 0x1400047ff
mov rcx, qword [0x1400100e0]
inc rdx
cmp rdx, 0x1000
jb 0x1400047fa
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004b40
mov rcx, r8
call fcn.1400082bc
movups xmm0, xmmword [rbp + 0x140]
movups xmmword [0x1400100e0], xmm0
movups xmm1, xmmword [rbp + 0x150]
movups xmmword [0x1400100f0], xmm1
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov qword [0x140010df8], rax
lea rdx, [0x140010dc0]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x1f4
mov r9d, 0x474
mov r8d, dword [0x140010dc4]
mov edx, dword [0x140010dc0]
mov rcx, qword [0x140010df8]
call qword [sym.imp.USER32.dll_MoveWindow]
mov rdi, qword [rsp + 0x38]
mov rdi, qword [rdi]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140004877
call fcn.1400079ec
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rbx
lea r8, [rbp + 0x140]
mov edx, eax
lea rcx, [rbp + 0x160]
call fcn.140001a10
nop
xor edi, edi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140003420]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.140003fe0
lea r13d, [rdi + 2]
lea rsi, [0x1400114c0]
lea r14, [0x140010180]
lea r15, [0x140010100]
lea r12, [0x1400100c0]
nop dword [rax]
mov ecx, 0x102
lea rdx, [0x140010e00]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [0x140010ddc], eax
xor r8d, r8d
lea edx, [r8 + 1]
mov ecx, r13d
call qword [sym.imp.WS2_32.dll_socket]
mov qword [0x140010de0], rax
lea rcx, str.127.0.0.1
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [0x1400114b4], eax
mov word [0x1400114b0], r13w
mov ecx, 0x1bb
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1400114b2], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [0x1400114b0]
mov rcx, qword [0x140010de0]
call qword [sym.imp.WS2_32.dll_bind]
mov dword [0x140010ddc], eax
mov edx, 0x7fffffff
mov rcx, qword [0x140010de0]
call qword [sym.imp.WS2_32.dll_listen]
mov dword [0x140010ddc], eax
lea r8, reloc.WS2_32.dll_recv
lea rdx, [0x140010de8]
mov rcx, qword [0x140010de0]
call qword [sym.imp.WS2_32.dll_accept]
mov qword [0x140010f98], rax
nop word [rax + rax]
xor r9d, r9d
mov r8d, 0x7a17f
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.WS2_32.dll_recv]
mov dword [0x140010ddc], eax
mov qword [0x1400110a8], rsi
mov edx, 3
mov rcx, qword [0x14008b640]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._DEBUG___TIME_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
mov rbx, rax
lea rcx, [0x14008b648]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__ctime64]
mov rdx, rax
mov rcx, rbx
call fcn.1400069c0
mov rcx, rax
lea rdx, [0x14000a9b4]
call fcn.1400069c0
mov edx, 6
mov rcx, qword [0x14008b640]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._DEBUG___RECV__n_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
mov rdx, rsi
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
mov rcx, rax
lea rdx, [0x14000aa7c]
call fcn.1400069c0
lea rdx, str.___________________________________________________________________________________________________________________________________________n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
call fcn.1400035d0
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
xor edx, edx
mov r8d, 0x7a180
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov dword [0x140010dd8], edi
mov rax, r14
cmp qword [0x140010198], 0xf
cmova rax, qword [0x140010180]
mov qword [0x140010190], rdi
mov byte [rax], 0
mov rax, r15
cmp qword [0x140010118], 0xf
cmova rax, qword [0x140010100]
mov qword [0x140010110], rdi
mov byte [rax], 0
mov rax, r12
cmp qword [0x1400100d8], 0xf
cmova rax, qword [0x1400100c0]
mov qword [0x1400100d0], rdi
mov byte [rax], 0
lea rdx, str.___________________________________________________________________________________________________________________________________________n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400069c0
mov rcx, qword [0x1400110a8]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140004b26
test rax, rax
je 0x140004b47
mov rax, qword [0x140010f98]
jmp 0x1400049b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp + 0x40]
call fcn.1400034b0
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x40]
add rcx, rax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
xor edx, edx
mov r8d, 0x7a180
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov dword [0x140010dd8], edi
mov rax, r14
cmp qword [0x140010198], 0xf
cmova rax, qword [0x140010180]
mov qword [0x140010190], rdi
mov byte [rax], 0
mov rax, r15
cmp qword [0x140010118], 0xf
cmova rax, qword [0x140010100]
mov qword [0x140010110], rdi
mov byte [rax], 0
mov rax, r12
cmp qword [0x1400100d8], 0xf
cmova rax, qword [0x1400100c0]
mov qword [0x1400100d0], rdi
mov byte [rax], 0
xor edx, edx
mov rcx, qword [0x140010f98]
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [0x140010f98]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x3c], edx
lea rcx, [rbp + 0x58]
call fcn.140005e10
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xd8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [0x140010de0]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x1400048f0
call fcn.1400012c0
int3