Function at 0x40186e
Capabilities:
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x260
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov eax, 0
mov word [rbp - 0x88], ax
movabs rax, 0x7e
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x86]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0
mov word [rbp - 0x108], ax
movabs rax, 0x7e
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x106]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, pe_nt_image_headers64
mov dword [rbp - 0x10c], eax
mov eax, pe_nt_image_headers64
mov dword [rbp - 0x110], eax
mov eax, 0x3c
mov dword [rbp - 0x118], eax
mov eax, 0
mov dword [rbp - 0x114], eax
mov eax, 0
mov r8, rax
mov eax, 1
mov r11, rax
mov eax, 2
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_socket
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
cmp rax, 0xffffffffffffffff
jne 0x40196e
call sub.ws2_32.dll_WSAGetLastError
mov r11, rax
lea rax, str.Error__d_creating_socket_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_wprintf
call sub.ws2_32.dll_WSAGetLastError
jmp 0x401c3f
mov eax, dword [0x00509044]
cmp eax, 0
je 0x401982
jmp 0x40198b
mov rax, qword [rbp + 0x18]
jmp 0x401992
mov rax, qword [str.proxy]
mov qword [rbp - 0x120], rax
mov eax, dword [rbp + 0x20]
mov r8, rax
lea rax, [0x00509386]
mov r11, rax
lea rax, [rbp - 0x134]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.user32.dll_wsprintfW
mov dword [rbp - 0x138], eax
movabs rax, 0
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x118]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x108]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x110]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x10c]
mov r9, rax
lea rax, [rbp - 0x134]
mov r8, rax
mov rax, qword [rbp - 0x120]
mov r11, rax
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_WSAConnectByNameW
cmp eax, 0xffffffff
jne 0x401a86
call sub.ws2_32.dll_WSAGetLastError
lea rcx, [rbp - 0x134]
mov r9, rcx
mov rcx, qword [rbp - 0x120]
mov r8, rcx
mov r11, rax
lea rax, [0x0050938c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_wprintf
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
call sub.ws2_32.dll_WSAGetLastError
jmp 0x401c3f
mov eax, dword [0x00509044]
cmp eax, 0
je 0x401c2b
lea rax, [0x005093d0]
mov r11, rax
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
mov rax, qword [rbp + 0x18]
mov r11, rax
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
lea rax, [0x005093d9]
mov r11, rax
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x200]
add rcx, rax
mov eax, 0xa
mov r8, rax
mov r11, rcx
mov eax, dword [rbp + 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll__itoa
lea rax, str._HTTP_1.0_r_nUser_Agent:_webclient_r_n_r_n
mov r11, rax
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
lea rax, [rbp - 0x200]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0x204], eax
mov eax, 0
mov r9, rax
mov eax, dword [rbp - 0x204]
mov r8, rax
lea rax, [rbp - 0x200]
mov r11, rax
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
jne 0x401bc3
call sub.ws2_32.dll_WSAGetLastError
mov r11, rax
lea rax, str.Error__d_sending_message_to_proxy__n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_wprintf
call sub.ws2_32.dll_WSAGetLastError
jmp 0x401c3f
mov eax, 0
mov r9, rax
mov eax, 0xc8
mov r8, rax
lea rax, [rbp - 0x200]
mov r11, rax
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_recv
mov dword [rbp - 0x204], eax
mov eax, dword [rbp - 0x204]
cmp eax, 0xffffffff
jne 0x401c2b
call sub.ws2_32.dll_WSAGetLastError
mov r11, rax
lea rax, str.Error__d_receiving_message_from_proxy_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_wprintf
call sub.ws2_32.dll_WSAGetLastError
jmp 0x401c3f
mov rax, qword [rbp + 0x10]
add rax, 0x60
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
mov eax, 0
leave
ret