Function at 0x43fcf0
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
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45357b
mov eax, dword fs:[0]
push eax
sub esp, 0x968
mov eax, dword [0x4696e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x954], ecx
push 0x200
push 0
lea eax, [ebp - 0x934]
push eax
call fcn.00423bf0
add esp, 0xc
mov dword [ebp - 0x10], str.GET
mov dword [ebp - 0x2fc], str.POST
mov dword [ebp - 0x2c], str._HTTP_1.1_r_n
mov dword [ebp - 0x3c], str.Host:
mov dword [ebp - 0x38], str._r_nContent_Type:application_x_www_form_urlencoded_r_nConnection:_close_r_n
mov dword [ebp - 0x1d0], 0x45c000
cmp dword [ebp + 0x14], 0
je 0x43fd87
mov ecx, dword [ebp + 0x14]
push ecx
push str.Content_Length:__ld_r_n
lea edx, [ebp - 0x934]
push edx
call fcn.00403fe0
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
push 0x400
lea ecx, [ebp - 0x6fc]
push ecx
push 0x100
lea edx, [ebp - 0x2dc]
push edx
push 0x14
lea eax, [ebp - 0x2f0]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x954]
call fcn.0043f730
push str.HTTP
lea edx, [ebp - 0x2f0]
push edx
call fcn.004234c0
add esp, 8
test eax, eax
je 0x43fddd
mov eax, 2
jmp 0x440718
lea eax, [ebp - 0x1cc]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 0x704], eax
cmp dword [ebp - 0x704], 0
je 0x43fe08
mov eax, 3
jmp 0x440718
mov dword [ebp - 0x1d8], 0x3e9
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0xffffffff
jne 0x43fe37
mov eax, 4
jmp 0x440718
mov word [ebp - 0x24], 2
mov cx, word [ebp - 0x30]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x22], ax
lea edx, [ebp - 0x2dc]
push edx
mov ecx, dword [ebp - 0x954]
call fcn.0043f600
mov dword [ebp - 0x20], eax
push 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x1d4]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x43fe82
mov eax, 5
jmp 0x440718
cmp dword [ebp + 0xc], 0
jne 0x43fe94
mov dword [ebp - 0x958], 0
jmp 0x43fea6
mov edx, dword [ebp + 0xc]
push edx
call fcn.00421940
add esp, 4
mov dword [ebp - 0x958], eax
mov eax, dword [ebp - 0x2fc]
push eax
call fcn.00421940
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x6fc]
push ecx
call fcn.00421940
add esp, 4
add esi, eax
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421940
add esp, 4
add esi, eax
lea eax, [ebp - 0x934]
push eax
call fcn.00421940
add esp, 4
add esi, eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00421940
add esp, 4
add esi, eax
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421940
add esp, 4
add esi, eax
mov eax, dword [ebp - 0x38]
push eax
call fcn.00421940
add esp, 4
mov edi, eax
add esi, dword [ebp - 0x958]
add edi, esi
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421940
add esp, 4
add edi, eax
mov dword [ebp - 0x938], edi
cmp dword [ebp + 0xc], 0
jne 0x43ff45
mov dword [ebp - 0x95c], 0
jmp 0x43ff57
mov edx, dword [ebp + 0xc]
push edx
call fcn.00421940
add esp, 4
mov dword [ebp - 0x95c], eax
cmp dword [ebp + 0x10], 0
jne 0x43ff69
mov dword [ebp - 0x960], 0
jmp 0x43ff7b
mov eax, dword [ebp + 0x10]
push eax
call fcn.00421940
add esp, 4
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
call fcn.00421940
add esp, 4
mov esi, eax
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421940
add esp, 4
add esi, eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00421940
add esp, 4
add esi, eax
lea ecx, [ebp - 0x934]
push ecx
call fcn.00421940
add esp, 4
add esi, eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421940
add esp, 4
add esi, eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.00421940
add esp, 4
add esi, eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00421940
add esp, 4
mov edi, eax
add esi, dword [ebp - 0x95c]
add edi, esi
mov edx, dword [ebp - 0x1d0]
push edx
call fcn.00421940
add esp, 4
add edi, dword [ebp - 0x960]
add eax, edi
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x938]
add eax, 1
push eax
call fcn.00424872
add esp, 4
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
push ecx
call fcn.00424872
add esp, 4
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x938]
add edx, 1
push edx
push 0
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.00423bf0
add esp, 0xc
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x1dc]
push edx
call fcn.00423bf0
add esp, 0xc
movsx eax, byte [ebp - 0x6fc]
test eax, eax
jne 0x440098
push 0x400
push 0x45c024
lea ecx, [ebp - 0x6fc]
push ecx
call fcn.00424c50
add esp, 0xc
cmp dword [ebp + 0x10], 0
jne 0x4400e0
mov edx, dword [ebp - 0x10]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424c50
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424c50
add esp, 0xc
jmp 0x44012c
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x2fc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424c50
add esp, 0xc
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x2fc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424c50
add esp, 0xc
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x934]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x934]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x934]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x934]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421940
add esp, 4
push eax
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x38]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424d90
add esp, 0xc
mov edx, dword [ebp - 0x38]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x440320
mov edx, dword [ebp + 0xc]
movsx eax, byte [edx]
test eax, eax
je 0x440320
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.00424d90
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00424d90
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.00424d90
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00424d90
add esp, 0xc
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp - 0x2f8]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.00424c50
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00421940
add esp, 4
push eax
mov edx, dword [ebp - 0x2f8]
push edx
mov eax, dword [ebp - 0x1d4]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424411
add esp, 4
mov dword [ebp - 0x2f8], 0
cmp dword [ebp + 0x10], 0
je 0x440411
cmp dword [ebp + 0x14], 0
je 0x440411
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x1d4]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov edx, dword [ebp + 0x10]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424d90
add esp, 0xc
lea edx, [ebp - 0x730]
push edx
mov ecx, dword [ebp - 0x954]
call fcn.0043f6a0
mov dword [ebp - 0x734], 0
mov dword [ebp - 0x700], 0
push 0x200
push 0
lea eax, [ebp - 0x934]
push eax
call fcn.00423bf0
add esp, 0xc
cmp dword [ebp - 0x700], 0
jne 0x4404f9
push 0
push 1
lea ecx, [ebp - 0x934]
push ecx
mov edx, dword [ebp - 0x1d4]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x708], eax
cmp dword [ebp - 0x708], 0
jg 0x44048b
mov dword [ebp - 0x700], 1
mov al, byte [ebp - 0x934]
mov byte [ebp - 0x964], al
cmp byte [ebp - 0x964], 0xa
je 0x4404ad
cmp byte [ebp - 0x964], 0xd
je 0x4404ab
jmp 0x4404cc
jmp 0x4404db
cmp dword [ebp - 0x734], 0
jne 0x4404c0
mov dword [ebp - 0x700], 1
mov dword [ebp - 0x734], 0
jmp 0x4404db
mov ecx, dword [ebp - 0x734]
add ecx, 1
mov dword [ebp - 0x734], ecx
mov dl, byte [ebp - 0x934]
push edx
lea eax, [ebp - 0x730]
push eax
mov ecx, dword [ebp - 0x954]
call fcn.0043f900
jmp 0x44044d
mov ecx, dword [ebp - 0x72c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x730]
push edx
call fcn.00421940
add esp, 4
push eax
mov eax, dword [ebp - 0x730]
push eax
mov ecx, dword [ebp + 0x18]
add ecx, 0x10000
push ecx
call fcn.00424c50
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x948], esp
push 0x45c028
call fcn.00401030
mov dword [ebp - 0x968], eax
mov edx, dword [ebp - 0x968]
mov dword [ebp - 0x96c], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x18]
add eax, 0x10000
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x94c], esp
push eax
call fcn.00401030
mov dword [ebp - 0x970], eax
lea ecx, [ebp - 0x724]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.0043fad0
add esp, 0x3c
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x724]
call fcn.00402d20
push eax
call fcn.0043f4d0
add esp, 4
test eax, eax
je 0x4405ca
lea ecx, [ebp - 0x724]
call fcn.00402d20
push eax
call fcn.00424d85
add esp, 4
mov dword [ebp - 0x34], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x12804], eax
lea ecx, [ebp - 0x944]
push ecx
mov ecx, dword [ebp - 0x954]
call fcn.0043f6a0
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x34]
jl 0x4405fc
jmp 0x440685
push 0x200
push 0
lea eax, [ebp - 0x934]
push eax
call fcn.00423bf0
add esp, 0xc
push 0
push 0x1ff
lea ecx, [ebp - 0x934]
push ecx
mov edx, dword [ebp - 0x1d4]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x708], eax
cmp dword [ebp - 0x708], 0
jg 0x44063e
jmp 0x440685
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x708]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x708]
mov byte [ebp + ecx - 0x934], 0
mov edx, dword [ebp - 0x708]
push edx
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x944]
push ecx
mov ecx, dword [ebp - 0x954]
call fcn.0043f8a0
cmp dword [ebp - 0x708], 0
jge 0x4405ef
mov edx, dword [ebp - 0x940]
mov byte [edx], 0
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x12804]
add ecx, 2
push ecx
call fcn.00424872
add esp, 4
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x12800], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x12804]
add ecx, 2
push ecx
push 0
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x12800]
push eax
call fcn.00423bf0
add esp, 0xc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x12804]
push edx
mov eax, dword [ebp - 0x944]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x12800]
push edx
call fcn.00423c70
add esp, 0xc
mov eax, dword [ebp - 0x1d4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x950], 0
lea ecx, [ebp - 0x724]
call fcn.00401ad0
mov eax, dword [ebp - 0x950]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004218a9
mov esp, ebp
pop ebp
ret 0x14