Function at 0x10014510
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Make an http request with a cookie
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1918
call fcn.1004a570
mov eax, dword [0x10085580]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x12c], 0
push 0xff
push 0
lea eax, [ebp - 0x12b]
push eax
call fcn.1004b220
add esp, 0xc
mov byte [ebp - 0x22c], 0
push 0xff
push 0
lea eax, [ebp - 0x22b]
push eax
call fcn.1004b220
add esp, 0xc
mov byte [ebp - 0x2ac], 0
push 0x7f
push 0
lea eax, [ebp - 0x2ab]
push eax
call fcn.1004b220
add esp, 0xc
mov byte [ebp - 0x6ac], 0
push 0x3ff
push 0
lea eax, [ebp - 0x6ab]
push eax
call fcn.1004b220
add esp, 0xc
mov byte [ebp - 0xaac], 0
push 0x3ff
push 0
lea eax, [ebp - 0xaab]
push eax
call fcn.1004b220
add esp, 0xc
mov byte [ebp - 0xeac], 0
push 0x3ff
push 0
lea eax, [ebp - 0xeab]
push eax
call fcn.1004b220
add esp, 0xc
mov dword [ebp - 0xec8], 0
mov dword [ebp - 0xed0], 0
mov dword [ebp - 0xed4], 0
mov dword [ebp - 0xed8], 0
mov byte [ebp - 0xf00], 4
mov byte [ebp - 0xeff], 1
xor eax, eax
mov word [ebp - 0xefe], ax
mov dword [ebp - 0xefc], 0
mov al, byte [0x10066971]
mov byte [ebp - 0xef8], al
xor eax, eax
mov dword [ebp - 0xef7], eax
mov dword [ebp - 0xef3], eax
mov dword [ebp - 0xeef], eax
mov dword [ebp - 0xeeb], eax
mov dword [ebp - 0xee7], eax
mov dword [ebp - 0xee3], eax
mov dword [ebp - 0xedf], eax
mov word [ebp - 0xedb], ax
mov byte [ebp - 0xed9], al
mov byte [ebp - 0x14a0], 0
push 0x3ff
push 0
lea eax, [ebp - 0x149f]
push eax
call fcn.1004b220
add esp, 0xc
cmp dword [ebp + 0x18], 0
jg 0x100146bf
mov dword [ebp - 8], 0x14
jmp 0x100146c5
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
cmp dword [ebp + 0x28], 0
je 0x100146d5
mov dword [ebp - 0xed0], 1
cmp dword [ebp + 0x2c], 0
je 0x100146e5
mov dword [ebp - 0xed4], 1
cmp dword [ebp + 0x34], 0
je 0x100146f5
mov dword [ebp - 0xed8], 1
cmp dword [ebp + 0x38], 0
je 0x1001474a
lea eax, [ebp - 0xeac]
push eax
call fcn.10048ba0
add esp, 4
mov esi, eax
mov ecx, dword [ebp + 0x38]
push ecx
call fcn.10048ba0
add esp, 4
lea edx, [esi + eax + 3]
cmp edx, 0x400
jbe 0x1001472b
xor eax, eax
jmp 0x10015028
mov eax, dword [ebp + 0x38]
push eax
lea ecx, [ebp - 0xeac]
push ecx
push str._s_s_r_n
lea edx, [ebp - 0xeac]
push edx
call fcn.10049d62
add esp, 0x10
mov eax, 1
mov word [ebp - 0x10a0], ax
mov eax, 5
mov word [ebp - 0x109e], ax
mov eax, 0x101
mov word [ebp - 0xf0c], ax
lea eax, [ebp - 0x109c]
push eax
movzx ecx, word [ebp - 0xf0c]
push ecx
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10014791
mov eax, 0x10066971
jmp 0x10015028
cmp dword [ebp + 0x1c], 0
je 0x100147c8
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp - 0xed4]
push edx
call fcn.10015210
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x100147c1
mov eax, 0x10066971
jmp 0x10015028
mov dword [ebp + 0x30], 1
push 0x10
push 0
lea eax, [ebp - 0xec0]
push eax
call fcn.1004b220
add esp, 0xc
mov eax, 2
mov word [ebp - 0xec0], ax
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xebe], ax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
push 0x1006a2f0
mov eax, dword [ebp + 8]
push eax
call fcn.10049f20
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x10014821
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0x20], eax
jmp 0x10014827
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
push 0x2f
mov eax, dword [ebp - 0x20]
push eax
call fcn.1004f5a0
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x10014845
mov dword [ebp - 0x18], 0x1006a2ec
push pe_nt_image_headers32
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x22c]
push ecx
call fcn.1004b2a0
add esp, 0xc
mov byte [ebp - 0x12d], 0
push 0x2f
lea eax, [ebp - 0x22c]
push eax
call fcn.1004f5a0
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x10014884
mov eax, dword [ebp - 0x20]
mov byte [eax], 0
push pe_nt_image_headers32
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.1004b2a0
add esp, 0xc
mov byte [ebp - 0x2d], 0
cmp dword [ebp + 0x10], 0
je 0x100148c8
push pe_nt_image_headers32
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x22c]
push ecx
call fcn.1004b2a0
add esp, 0xc
mov byte [ebp - 0x12d], 0
push 0x3a
lea eax, [ebp - 0x22c]
push eax
call fcn.1004f5a0
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x1001490b
mov eax, dword [ebp - 0x20]
mov byte [eax], 0
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
push eax
call fcn.1004970a
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xebe], ax
movsx eax, byte [ebp - 0x22c]
push eax
call fcn.1004f121
add esp, 4
test eax, eax
je 0x10014934
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0xebc], eax
jmp 0x1001496a
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0xec4], eax
cmp dword [ebp - 0xec4], 0
jne 0x10014957
xor eax, eax
jmp 0x10015028
mov eax, dword [ebp - 0xec4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0xebc], eax
cmp dword [ebp + 0xc], 0
je 0x10014a8e
mov dword [ebp - 0x18b8], 0
mov ax, word [ebp - 0xebe]
mov word [ebp - 0xefe], ax
mov eax, dword [ebp - 0xebc]
mov dword [ebp - 0xefc], eax
push str.USER
call fcn.10048e9c
add esp, 4
mov dword [ebp - 0x18b8], eax
cmp dword [ebp - 0x18b8], 0
jne 0x100149be
mov dword [ebp - 0x18b8], 0x1006a2e0
push 0x20
mov eax, dword [ebp - 0x18b8]
push eax
lea ecx, [ebp - 0xef8]
push ecx
call fcn.1004b2a0
add esp, 0xc
mov byte [ebp - 0xed9], 0
mov byte [ebp - 0xed9], 0
push 0x438
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xebe], ax
push 0x3a
mov eax, dword [ebp + 0xc]
push eax
call fcn.1004f5a0
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x10014a36
mov eax, dword [ebp - 0x20]
mov byte [eax], 0
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
push eax
call fcn.1004970a
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xebe], ax
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
push ecx
call fcn.1004f121
add esp, 4
test eax, eax
je 0x10014a5b
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0xebc], eax
jmp 0x10014a8e
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0xec4], eax
cmp dword [ebp - 0xec4], 0
jne 0x10014a7b
xor eax, eax
jmp 0x10015028
mov eax, dword [ebp - 0xec4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0xebc], eax
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
je 0x10015015
push 4
lea eax, [ebp - 0x10a0]
push eax
push 0x80
push 0xffff
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp dword [ebp + 0xc], 0
jne 0x10014b3c
cmp dword [ebp + 0x14], 0
je 0x10014b3c
mov dword [ebp - 0xecc], 4
push 0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10015490
add esp, 8
push 0x10
lea eax, [ebp - 0xec0]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0xeb0], eax
push 1
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10015490
add esp, 8
push 2
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.100154d0
add esp, 0xc
mov dword [ebp - 0xeb0], eax
cmp dword [ebp - 0xeb0], 0
jle 0x10014b3a
mov dword [ebp - 0xeb0], 0xffffffff
jmp 0x10014b55
push 0x10
lea eax, [ebp - 0xec0]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0xeb0], eax
cmp dword [ebp - 0xeb0], 0
jne 0x1001500b
cmp dword [ebp + 0xc], 0
je 0x10014c13
push 0
lea eax, [ebp - 0xef8]
push eax
call fcn.10048ba0
add esp, 4
add eax, 9
push eax
lea ecx, [ebp - 0xf00]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp dword [ebp + 0x14], 0
je 0x10014bb0
push 1
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.100154d0
add esp, 0xc
test eax, eax
jle 0x10014bb0
jmp 0x10014b30
push 0
push 8
lea eax, [ebp - 0xf08]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 8
jne 0x10014bdc
movzx eax, byte [ebp - 0xf07]
cmp eax, 0x5a
jne 0x10014bdc
jmp 0x10014c13
mov eax, 1
mov word [ebp - 0x10a0], ax
xor eax, eax
mov word [ebp - 0x109e], ax
push 4
lea eax, [ebp - 0x10a0]
push eax
push 0x80
push 0xffff
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x10014dbf
cmp dword [ebp + 0x1c], 0
je 0x10014c31
mov eax, dword [ebp - 0x28]
push eax
push str.Content_type:_application_x_www_form_urlencoded_r_nContent_length:__d_r_n
lea ecx, [ebp - 0x2ac]
push ecx
call fcn.10049d62
add esp, 0xc
cmp dword [ebp + 0x20], 0
je 0x10014c4f
mov eax, dword [ebp + 0x20]
push eax
push str.Cookie:__s_r_n
lea ecx, [ebp - 0x6ac]
push ecx
call fcn.10049d62
add esp, 0xc
cmp dword [ebp + 0x24], 0
je 0x10014c6d
mov eax, dword [ebp + 0x24]
push eax
push str.Referer:__s_r_n
lea ecx, [ebp - 0xaac]
push ecx
call fcn.10049d62
add esp, 0xc
cmp dword [ebp + 0x1c], 0
jne 0x10014c7f
mov dword [ebp - 0x1900], 0x10066971
jmp 0x10014c8b
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x1900], eax
cmp dword [ebp + 0x20], 0
jne 0x10014c9d
mov dword [ebp - 0x1904], 0x10066971
jmp 0x10014ca9
lea ecx, [ebp - 0x6ac]
mov dword [ebp - 0x1904], ecx
cmp dword [ebp + 0x24], 0
jne 0x10014cbb
mov dword [ebp - 0x1908], 0x10066971
jmp 0x10014cc7
lea edx, [ebp - 0xaac]
mov dword [ebp - 0x1908], edx
cmp dword [ebp + 0x10], 0
jne 0x10014cdf
cmp dword [ebp + 0xc], 0
jne 0x10014cdf
mov dword [ebp - 0x190c], 0x10066971
jmp 0x10014ce9
mov dword [ebp - 0x190c], str.Proxy_Connection:Keep_Alive_r_n
cmp dword [ebp + 0x10], 0
jne 0x10014d17
cmp dword [ebp + 0x1c], 0
jne 0x10014d00
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1910], eax
jmp 0x10014d09
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1910], ecx
mov edx, dword [ebp - 0x1910]
mov dword [ebp - 0x1914], edx
jmp 0x10014d20
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1914], eax
cmp dword [ebp + 0x1c], 0
jne 0x10014d32
mov dword [ebp - 0x1918], 0x100669ac
jmp 0x10014d3c
mov dword [ebp - 0x1918], str.POST
mov ecx, dword [ebp - 0x1900]
push ecx
lea edx, [ebp - 0xeac]
push edx
mov eax, dword [ebp - 0x1904]
push eax
mov ecx, dword [ebp - 0x1908]
push ecx
lea edx, [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x190c]
push eax
mov ecx, dword [ebp - 0x1914]
push ecx
mov edx, dword [ebp - 0x1918]
push edx
push str._s__s_HTTP_1.0_r_n_sUser_Agent:_Mozilla_2.0__Win95__I__r_nPragma:_no_cache_r_nHost:__s_r_nAccept:___r_n_s_s_s_s_r_n
lea eax, [ebp - 0x14a0]
push eax
call fcn.10049d62
add esp, 0x28
lea eax, [ebp - 0x14a0]
push eax
call fcn.10048ba0
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0xed8], 0
jne 0x10014ddf
push 0
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14a0]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, dword [ebp - 0x2c]
je 0x10014ddf
push 2
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 0x10066971
jmp 0x10015028
cmp dword [ebp + 0x1c], 0
je 0x10014e18
push 0
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, dword [ebp - 0x28]
je 0x10014e0c
mov eax, dword [ebp - 0x24]
push eax
call fcn.100490dd
add esp, 4
jmp 0x10014dbf
mov eax, dword [ebp - 0x24]
push eax
call fcn.100490dd
add esp, 4
push 0x414
push 0
lea eax, [ebp - 0x18b4]
push eax
call fcn.1004b220
add esp, 0xc
mov dword [ebp - 0x2c], 0
cmp dword [ebp - 0xed8], 0
jne 0x10014ef0
cmp dword [ebp - 0x2c], 0x400
jge 0x10014ed8
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
push 1
mov edx, dword [ebp - 0x2c]
lea eax, [ebp + edx - 0x14a0]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.10015100
add esp, 0x14
test eax, eax
jle 0x10014ed8
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [ebp + eax - 0x14a0]
cmp ecx, 0xd
jne 0x10014e86
jmp 0x10014e42
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [ebp + eax - 0x14a0]
cmp ecx, 0xa
jne 0x10014eca
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x14a0], 0
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14a0]
push ecx
lea edx, [ebp - 0x18b4]
push edx
call fcn.10015040
add esp, 0xc
test eax, eax
je 0x10014ec1
jmp 0x10014ed8
mov dword [ebp - 0x2c], 0
jmp 0x10014ed3
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x10014e42
cmp dword [ebp - 0xc], 0
jne 0x10014eee
cmp dword [ebp - 0x18b4], 0
jne 0x10014eee
mov dword [ebp - 0x10], 1
jmp 0x10014efa
mov dword [ebp - 0x18b4], 1
cmp dword [ebp - 0xed0], 0
jne 0x10014f1a
cmp dword [ebp - 0x18b4], 0
je 0x10014ff5
cmp dword [ebp - 0xc], 0
jne 0x10014ff5
mov dword [ebp - 0x18bc], 0
push 0x8000
call fcn.10049526
add eax, 0x20
push eax
call fcn.10053b43
add esp, 4
push eax
call fcn.1004ee55
add esp, 8
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
push 0x400
lea edx, [ebp - 0x14a0]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10015100
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jle 0x10014ff5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18bc]
lea edx, [ecx + eax + 1]
push edx
mov eax, dword [ebp - 0xec8]
push eax
call fcn.1004eaf9
add esp, 8
mov dword [ebp - 0xec8], eax
cmp dword [ebp - 0xec8], 0
jne 0x10014fa3
xor eax, eax
jmp 0x10015028
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14a0]
push ecx
mov edx, dword [ebp - 0xec8]
add edx, dword [ebp - 0x18bc]
push edx
call fcn.1004aeb0
add esp, 0xc
mov eax, dword [ebp - 0x18bc]
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xec8]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x18bc]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18bc], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp - 0x18bc]
mov dword [eax], ecx
jmp 0x10014f43
cmp dword [ebp - 0xed0], 0
je 0x1001500b
push 0x1006a1e0
call fcn.10049bf8
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0xc], 0
je 0x10015022
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0xec8]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10049fa6
mov esp, ebp
pop ebp
ret