Function at 0x43f1b0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push esi
push edi
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x6df60000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
call fcn.00401bd0
mov dword [ebp - 0x4c], 0x10
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
push 0
push 0x4d7e70
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.0043dbe0
add esp, 0x14
test eax, eax
je 0x43f238
mov eax, 9
jmp 0x43f8bc
mov eax, dword [ebp + 8]
push eax
push str.waiting_on_port__u_for_connections
call fcn.0044d350
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x43f264
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str.__to_forward_to__s:_d
call fcn.0044d350
add esp, 0xc
movzx eax, byte [0x56b0c4]
test eax, eax
je 0x43f27e
push 0x4d7ec0
call fcn.0044d350
add esp, 4
jmp 0x43f292
mov ecx, dword [0x56b0c0]
push ecx
push str.._timeout_is__d_milliseconds._n
call fcn.0044d350
add esp, 8
mov byte [ebp - 0x2d], 1
mov byte [ebp - 0x45], 0
mov dword [ebp - 0x2c], 0
push 0
push 0
call fcn.004237b0
add esp, 8
movzx edx, al
test edx, edx
jne 0x43f8a5
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call sub.WS2_32.dll_accept
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x43f30b
call fcn.00484790
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x2733
jne 0x43f2f2
push 0x1f4
call fcn.004026b0
add esp, 4
jmp 0x43f2a1
push 0x4d7ee4
call fcn.0040cc80
add esp, 4
mov dword [ebp - 0x2c], 9
jmp 0x43f8a5
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.00438380
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x43f446
cmp dword [0x56b184], 0
jne 0x43f346
push str._got_connection__trying_forward_connect__r
call fcn.0044d350
add esp, 4
push 0x52ba40
call fcn.004c052b
add esp, 4
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x43f36f
push str.cannot_create_forward_socket_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x43f8bc
cmp dword [0x56f27c], 0
jne 0x43f3e3
push 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00402c90
add esp, 8
mov dword [0x56f27c], eax
cmp dword [0x56f27c], 0
jne 0x43f3ad
mov edx, dword [ebp + 0xc]
push edx
push 0x4d7f54
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43f8bc
mov eax, dword [0x56f27c]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [0x56f27c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x24]
push edx
call fcn.004bed60
add esp, 0xc
mov word [ebp - 0x28], 2
mov ax, word [ebp + 0x10]
push eax
call sub.WS2_32.dll_htons
mov word [ebp - 0x26], ax
push 0x10
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
jne 0x43f421
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x4d7f6c
call fcn.0040cc80
add esp, 0x10
mov eax, 9
jmp 0x43f8bc
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
push str._forward_connected_to__s:_d_________n
call fcn.0044d350
add esp, 0xc
push 0
lea ecx, [ebp - 0x18]
push ecx
call fcn.00438380
add esp, 8
jmp 0x43f453
push str._got_connection__n
call fcn.0044d350
add esp, 4
call fcn.00401ca0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
push 0
push 0
call fcn.004237b0
add esp, 8
movzx edx, al
test edx, edx
jne 0x43f860
push 0
push 0x186fa
push 0x534818
mov eax, dword [ebp - 0x14]
push eax
call sub.WS2_32.dll_recv
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jle 0x43f606
mov ecx, dword [ebp - 0x60]
mov byte [ecx + 0x534818], 0
movzx edx, byte [ebp - 0x2d]
test edx, edx
je 0x43f557
mov byte [ebp - 0x2d], 0
push 0xa
push 0x534818
call fcn.004bf0b0
add esp, 8
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x43f557
mov eax, dword [ebp - 0x64]
sub eax, 0x534818
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
push ecx
push 0x534818
push 0x55dcf8
call fcn.004bed60
add esp, 0xc
mov edx, dword [ebp - 0x68]
mov byte [edx + 0x55dcf8], 0
push 4
push 0x4d7fc8
push 0x55dcf8
call fcn.004bebf0
add esp, 0xc
test eax, eax
je 0x43f528
push 5
push 0x4d7fd0
push 0x55dcf8
call fcn.004bebf0
add esp, 0xc
test eax, eax
jne 0x43f557
push str.HTTP
push 0x55dcf8
call fcn.004bfe50
add esp, 8
test eax, eax
je 0x43f557
mov byte [ebp - 0x45], 1
movzx eax, byte [0x56b0c4]
test eax, eax
je 0x43f557
mov dword [0x56b0c0], 0x2710
cmp dword [0x56705c], 4
jne 0x43f58a
mov ecx, dword [ebp - 0x60]
push ecx
push 0
push 0x534818
call fcn.004c00a0
add esp, 0xc
test eax, eax
je 0x43f58a
mov edx, dword [ebp - 0x60]
push edx
push str._received_request_from_back:_binary___d_bytes__n
call fcn.0044d350
add esp, 8
jmp 0x43f5ae
mov eax, dword [ebp - 0x60]
push eax
push str._received_request_from_back_with__d_bytes:__n
call fcn.0044d350
add esp, 8
mov ecx, dword [ebp - 0x60]
push ecx
push 0x534818
push 0
call fcn.004344d0
add esp, 0xc
call fcn.00401ca0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
cmp dword [ebp + 0xc], 0
je 0x43f606
push 0
mov edx, dword [ebp - 0x60]
push edx
push 0x534818
mov eax, dword [ebp - 0x18]
push eax
call sub.WS2_32.dll_send
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x60]
jne 0x43f5f1
mov edx, dword [ebp - 0x6c]
push edx
push str._forwarded__d_bytes__n
call fcn.0044d350
add esp, 8
jmp 0x43f606
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
push str._forwarded__d_bytes_of__d___incomplete__n
call fcn.0040cd70
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x43f742
push 0
push 0x186fa
push 0x534818
mov edx, dword [ebp - 0x18]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jle 0x43f742
cmp dword [0x56705c], 4
jne 0x43f6d0
mov eax, dword [ebp - 0x70]
push eax
push 0
push 0x534818
call fcn.004c00a0
add esp, 0xc
test eax, eax
je 0x43f6d0
mov dword [ebp - 0x78], 0x3e8
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x78]
jle 0x43f6aa
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x70]
push eax
push str._received_reply_from_front_with_binary___d_bytes._dumping_first__d:__n
call fcn.0044d350
add esp, 0xc
mov ecx, dword [0x56705c]
mov dword [ebp - 0x7c], ecx
mov dword [0x56705c], 0
mov edx, dword [ebp - 0x78]
push edx
push 0x534818
push 0
call fcn.004344d0
add esp, 0xc
mov eax, dword [ebp - 0x7c]
mov dword [0x56705c], eax
jmp 0x43f6ce
mov ecx, dword [ebp - 0x70]
push ecx
push str._received_reply_from_front_with_binary___d_bytes:__n
call fcn.0044d350
add esp, 8
mov edx, dword [ebp - 0x70]
push edx
push 0x534818
push 0
call fcn.004344d0
add esp, 0xc
jmp 0x43f6f0
push str._received_reply_from_front:__n
call fcn.0044d350
add esp, 4
mov eax, dword [ebp - 0x70]
push eax
push 0x534818
push 0
call fcn.004344d0
add esp, 0xc
call fcn.00401ca0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
push 0
mov ecx, dword [ebp - 0x70]
push ecx
push 0x534818
mov edx, dword [ebp - 0x14]
push edx
call sub.WS2_32.dll_send
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x70]
jne 0x43f72d
mov ecx, dword [ebp - 0x74]
push ecx
push str._backwarded__d_bytes__n
call fcn.0044d350
add esp, 8
jmp 0x43f742
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
push str._backwarded__d_bytes_of__d___incomplete__n
call fcn.0040cd70
add esp, 0xc
call fcn.00401ca0
mov ecx, eax
mov esi, edx
mov eax, dword [0x56b0c0]
cdq
add eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x54]
adc edi, edx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], edi
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jl 0x43f7a8
jg 0x43f78f
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x9c]
jbe 0x43f7a8
mov ecx, dword [0x56b0c0]
push ecx
push str._timeout__no_data_over__d_msec__n
call fcn.0044d350
add esp, 8
jmp 0x43f860
push 0x1f4
call fcn.004026b0
add esp, 4
mov dword [ebp - 0x8c], 0x4d818c
call fcn.00401ca0
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
cmp dword [0x56b184], 0
jne 0x43f85b
mov edx, dword [0x56f278]
and edx, reloc.WS2_32.dll_accept
jns 0x43f7f2
dec edx
or edx, 0xfffffffe
inc edx
mov eax, dword [ebp - 0x8c]
movsx ecx, byte [eax + edx]
mov dword [ebp - 0xa0], ecx
mov edx, dword [0x56f278]
add edx, 1
mov dword [0x56f278], edx
mov eax, dword [0x56b0c0]
cdq
mov ecx, 0x3e8
idiv ecx
push eax
push 0
push 0x3e8
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
call fcn.004bec70
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push str.__c_waiting_for_input___d__d_sec__r
call fcn.0044d350
add esp, 0x10
push 0x52ba40
call fcn.004c052b
add esp, 4
jmp 0x43f45e
cmp dword [ebp + 0xc], 0
je 0x43f883
push str._closing_forward_connection__n
call fcn.0044d350
add esp, 4
push 1
push 1
mov edx, dword [ebp - 0x18]
push edx
call fcn.00401c30
add esp, 0xc
push str._client_disconnected__n
call fcn.0044d350
add esp, 4
push 1
push 1
mov eax, dword [ebp - 0x14]
push eax
call fcn.00401c30
add esp, 0xc
jmp 0x43f2a1
push 1
push 1
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00401c30
add esp, 0xc
call sub.WS2_32.dll_WSACleanup
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret