Function at 0x140001a87
Capabilities:
Get hostname
Get local ipv4 addresses
Get socket information
Resolve dns
Send data
Send data on socket

Disassembly:
push rbp
mov eax, 0x11c0
call fcn.140016780
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1150], rcx
mov dword [rbp + 0x1128], 0
lea rax, [rbp + 0x10c0]
mov r8d, 0x1c
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
lea rax, [rbp - 0x50]
mov edx, 0x104
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_gethostname]
call rax
mov dword [rbp + 0x112c], eax
cmp dword [rbp + 0x112c], 0
jne 0x140001fb1
mov qword [rbp + 0x10e8], 0
lea rax, [rbp + 0x10f0]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0x10fc], 6
mov dword [rbp + 0x10f8], 1
lea rcx, [rbp + 0x10e8]
lea rdx, [rbp + 0x10f0]
lea rax, [rbp - 0x50]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
mov dword [rbp + 0x1124], eax
cmp dword [rbp + 0x1124], 0
jne 0x140001fb1
mov rax, qword [rbp + 0x10e8]
test rax, rax
je 0x140001fb1
mov rax, qword [rbp + 0x10e8]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x140001f9e
mov rax, qword [rbp + 0x10e8]
mov rax, qword [rax + 0x20]
movzx eax, word [rax]
movzx eax, ax
mov dword [rbp + 0x1128], eax
mov rax, qword [rbp + 0x10e8]
mov rax, qword [rax + 0x10]
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x54]
movsxd rcx, eax
mov rax, qword [rbp + 0x10e8]
mov rdx, qword [rax + 0x20]
lea rax, [rbp + 0x10c0]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov byte [rbp + 0xc0], 5
cmp dword [rbp + 0x1128], 0
jle 0x140001f3c
mov eax, dword [rbp + 0x1128]
mov r8d, 6
mov edx, 1
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp + 0x112c], eax
cmp dword [rbp + 0x112c], 0
jle 0x140001f3f
mov rax, qword [rbp + 0x1150]
mov edx, dword [rbp + 0x112c]
mov dword [rax], edx
mov byte [rbp + 0xc1], 0
mov byte [rbp + 0xc2], 0
mov byte [rbp + 0xc3], 1
mov ecx, dword [rbp - 0x54]
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
lea rdx, [rbp + 0x10c0]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_bind]
call rax
mov dword [rbp + 0x112c], eax
cmp dword [rbp + 0x112c], 0
jne 0x140001f42
mov dword [rbp - 0x54], 0x1c
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
lea rcx, [rbp - 0x54]
lea rdx, [rbp + 0x10c0]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getsockname]
call rax
mov dword [rbp + 0x112c], eax
cmp dword [rbp + 0x112c], 0
jne 0x140001f45
mov dword [rbp + 0x113c], 4
lea rax, [rbp + 0x10c0]
add rax, 4
mov qword [rbp + 0x1130], rax
mov eax, dword [rbp - 0x54]
cmp eax, 0x1c
jne 0x140001cf5
mov byte [rbp + 0xc3], 4
mov dword [rbp + 0x113c], reloc.WS2_32.dll_recv
lea rax, [rbp + 0x10c0]
add rax, 8
mov qword [rbp + 0x1130], rax
mov eax, dword [rbp + 0x113c]
movsxd rcx, eax
lea rax, [rbp + 0xc0]
add rax, 4
mov rdx, qword [rbp + 0x1130]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x113c]
cdqe
lea rdx, [rax + 4]
lea rax, [rbp + 0xc0]
add rdx, rax
movzx eax, word [rbp + 0x10c2]
mov word [rdx], ax
add dword [rbp + 0x113c], 6
mov edx, dword [rbp + 0x113c]
mov rax, qword [rbp + 0x1150]
lea rcx, [rax + 0x11c]
lea rax, [rbp + 0xc0]
mov r8d, edx
mov rdx, rax
call fcn.140003ee0
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax + 4]
cdqe
mov ecx, dword [rbp + 0x113c]
lea rdx, [rbp + 0xc0]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_listen]
call rax
mov dword [rbp - 0x54], 0x1c
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
lea rcx, [rbp - 0x54]
lea rdx, [rbp + 0x10c0]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_accept]
call rax
mov dword [rbp + 0x1120], eax
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_shutdown]
call rax
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [rbp + 0x1150]
mov edx, dword [rbp + 0x1120]
mov dword [rax], edx
cmp dword [rbp + 0x1120], 0
jle 0x140001f48
mov eax, dword [rbp - 0x54]
cmp eax, 0x1c
jne 0x140001e60
mov dword [rbp + 0x113c], reloc.WS2_32.dll_recv
lea rax, [rbp + 0x10c0]
add rax, 8
mov qword [rbp + 0x1130], rax
mov byte [rbp + 0xc3], 4
jmp 0x140001e83
mov dword [rbp + 0x113c], 4
lea rax, [rbp + 0x10c0]
add rax, 4
mov qword [rbp + 0x1130], rax
mov byte [rbp + 0xc3], 1
mov eax, dword [rbp + 0x113c]
movsxd rcx, eax
lea rax, [rbp + 0xc0]
add rax, 4
mov rdx, qword [rbp + 0x1130]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x113c]
cdqe
lea rdx, [rax + 4]
lea rax, [rbp + 0xc0]
add rdx, rax
movzx eax, word [rbp + 0x10c2]
mov word [rdx], ax
add dword [rbp + 0x113c], 6
mov edx, dword [rbp + 0x113c]
mov rax, qword [rbp + 0x1150]
lea rcx, [rax + 0x11c]
lea rax, [rbp + 0xc0]
mov r8d, edx
mov rdx, rax
call fcn.140003ee0
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax + 4]
cdqe
mov ecx, dword [rbp + 0x113c]
lea rdx, [rbp + 0xc0]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rcx, qword [rbp + 0x1150]
call fcn.140003533
mov dword [rbp + 0x112c], 0
jmp 0x140001f9e
nop
jmp 0x140001f49
nop
jmp 0x140001f49
nop
jmp 0x140001f49
nop
jmp 0x140001f49
nop
mov byte [rbp + 0xc1], 3
mov rax, qword [rbp + 0x1150]
lea rcx, [rax + 0x11c]
lea rax, [rbp + 0xc0]
mov r8d, 2
mov rdx, rax
call fcn.140003ee0
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax + 4]
cdqe
lea rdx, [rbp + 0xc0]
mov r9d, 0
mov r8d, 2
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [rbp + 0x10e8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
test eax, eax
jle 0x140001ff1
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_shutdown]
call rax
mov rax, qword [rbp + 0x1150]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov eax, dword [rbp + 0x112c]
add rsp, 0x11c0
pop rbp
ret