Function at 0x4023b0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, 1
mov edi, dword [ebp + 0x10]
mov ebx, 0xffff
sub esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.00401640
add esp, 0x10
test eax, eax
js 0x402438
mov eax, ebx
push 0
sub eax, esi
push eax
lea eax, [edi + esi]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.DLL_recv
test eax, eax
jle 0x402438
add esi, eax
push eax
push str._r_n_r_n
push esi
push edi
call fcn.00401690
add esp, 0x10
test eax, eax
je 0x4023c6
add eax, 4
push ebx
sub eax, edi
mov edx, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xe]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x14]
push eax
push ecx
push edi
push edx
call fcn.004016f0
add esp, 0x20
mov dword [ebp - 0x30], eax
test eax, eax
jns 0x40244a
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov ax, word [ebp - 0xe]
and eax, 0xffff
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
push str._s__s:_hu__s_n
push eax
call fcn.00401410
add esp, 0x18
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x18]
push eax
mov ax, word [ebp - 0xe]
and eax, 0xffff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
push 0xffffffffffffffff
push ebx
push ecx
push edx
call fcn.00402240
add esp, 0x20
mov dword [ebp - 0x24], eax
test eax, eax
js 0x402438
push eax
push eax
mov eax, dword [ebp - 0x14]
push str.CONNECT
push eax
call sub.msvcrt.dll__stricmp
add esp, 0x10
test eax, eax
jne 0x4025b0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
push 0
mov eax, dword [ebp + 8]
push 0x13
push str.HTTP_1.0_200_OK_r_n_r_n
push eax
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
lea ebx, [edi + eax]
push eax
mov eax, dword [ebp - 0x28]
push str._nContent_Length:
push eax
push ebx
call fcn.00401690
mov edx, eax
add esp, 0x10
xor eax, eax
test edx, edx
je 0x402517
sub esp, 0xc
lea eax, [edx + 0x10]
push eax
call sub.msvcrt.dll_atoi
add esp, 0x10
mov edx, esi
sub edx, dword [ebp - 0x2c]
js 0x402438
mov esi, eax
sub esi, edx
js 0x402438
push 0
push edx
mov edx, dword [ebp - 0x2c]
lea eax, [edi + edx]
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
test esi, esi
je 0x40243f
mov dword [ebp - 0x20], 0xffff
sub esp, 0xc
mov ebx, dword [ebp + 8]
push ebx
call fcn.00401640
add esp, 0x10
test eax, eax
js 0x402438
cmp dword [ebp - 0x20], esi
jle 0x402575
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
push 0
push ecx
push edi
push edx
call sub.WS2_32.DLL_recv
mov ebx, eax
test eax, eax
jle 0x402438
push 0
push eax
mov eax, dword [ebp - 0x24]
push edi
push eax
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
sub esi, ebx
jne 0x402556
jmp 0x40243f
mov edx, dword [ebp + 0x18]
sub esp, 0xc
mov ebx, dword [ebp - 0x14]
mov dword [edx], 0
push ebx
call sub.msvcrt.dll_strlen
add esp, 0x10
push 0
push eax
mov eax, dword [ebp - 0x24]
push ebx
push eax
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
mov eax, dword [ebp - 0x24]
push 0
push 2
push 0x40a73d
push eax
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
sub esp, 0xc
mov ebx, dword [ebp - 0x1c]
push ebx
call sub.msvcrt.dll_strlen
add esp, 0x10
push 0
push eax
push ebx
mov ebx, dword [ebp - 0x24]
push ebx
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
mov ecx, dword [ebp - 0x24]
push 0
push 1
push 0x40a068
push ecx
call sub.WS2_32.DLL_send
test eax, eax
js 0x402438
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
sub eax, edx
mov edx, dword [ebp - 0x30]
push 0
mov dword [ebp - 0x28], eax
push eax
lea ebx, [edi + edx]
mov eax, dword [ebp - 0x24]
push ebx
push eax
call sub.WS2_32.DLL_send
test eax, eax
jns 0x4024ed
jmp 0x402438