Function at 0x43e040
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 0x449b01
mov eax, dword fs:[0]
push eax
sub esp, 0x968
mov eax, dword [0x45e700]
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.00423a30
add esp, 0xc
mov dword [ebp - 0x10], 0x451c4c
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], 0x451cb8
cmp dword [ebp + 0x14], 0
je 0x43e0d7
mov ecx, dword [ebp + 0x14]
push ecx
push str.Content_Length:__ld_r_n
lea edx, [ebp - 0x934]
push edx
call fcn.00403e10
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.0043da80
push str.HTTP
lea edx, [ebp - 0x2f0]
push edx
call fcn.00423300
add esp, 8
test eax, eax
je 0x43e12d
mov eax, 2
jmp 0x43ea68
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 0x43e158
mov eax, 3
jmp 0x43ea68
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 0x43e187
mov eax, 4
jmp 0x43ea68
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.0043d950
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 0x43e1d2
mov eax, 5
jmp 0x43ea68
cmp dword [ebp + 0xc], 0
jne 0x43e1e4
mov dword [ebp - 0x958], 0
jmp 0x43e1f6
mov edx, dword [ebp + 0xc]
push edx
call fcn.00421780
add esp, 4
mov dword [ebp - 0x958], eax
mov eax, dword [ebp - 0x2fc]
push eax
call fcn.00421780
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x6fc]
push ecx
call fcn.00421780
add esp, 4
add esi, eax
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421780
add esp, 4
add esi, eax
lea eax, [ebp - 0x934]
push eax
call fcn.00421780
add esp, 4
add esi, eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00421780
add esp, 4
add esi, eax
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421780
add esp, 4
add esi, eax
mov eax, dword [ebp - 0x38]
push eax
call fcn.00421780
add esp, 4
mov edi, eax
add esi, dword [ebp - 0x958]
add edi, esi
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421780
add esp, 4
add edi, eax
mov dword [ebp - 0x938], edi
cmp dword [ebp + 0xc], 0
jne 0x43e295
mov dword [ebp - 0x95c], 0
jmp 0x43e2a7
mov edx, dword [ebp + 0xc]
push edx
call fcn.00421780
add esp, 4
mov dword [ebp - 0x95c], eax
cmp dword [ebp + 0x10], 0
jne 0x43e2b9
mov dword [ebp - 0x960], 0
jmp 0x43e2cb
mov eax, dword [ebp + 0x10]
push eax
call fcn.00421780
add esp, 4
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
call fcn.00421780
add esp, 4
mov esi, eax
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421780
add esp, 4
add esi, eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00421780
add esp, 4
add esi, eax
lea ecx, [ebp - 0x934]
push ecx
call fcn.00421780
add esp, 4
add esi, eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421780
add esp, 4
add esi, eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.00421780
add esp, 4
add esi, eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00421780
add esp, 4
mov edi, eax
add esi, dword [ebp - 0x95c]
add edi, esi
mov edx, dword [ebp - 0x1d0]
push edx
call fcn.00421780
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.004246b2
add esp, 4
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
push ecx
call fcn.004246b2
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.00423a30
add esp, 0xc
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x1dc]
push edx
call fcn.00423a30
add esp, 0xc
movsx eax, byte [ebp - 0x6fc]
test eax, eax
jne 0x43e3e8
push 0x400
push 0x451cdc
lea ecx, [ebp - 0x6fc]
push ecx
call fcn.00424a90
add esp, 0xc
cmp dword [ebp + 0x10], 0
jne 0x43e430
mov edx, dword [ebp - 0x10]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424a90
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424a90
add esp, 0xc
jmp 0x43e47c
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x2fc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424a90
add esp, 0xc
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x2fc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424a90
add esp, 0xc
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x6fc]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x934]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x934]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x934]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x934]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x2dc]
push edx
call fcn.00421780
add esp, 4
push eax
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x38]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00424bd0
add esp, 0xc
mov edx, dword [ebp - 0x38]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x43e670
mov edx, dword [ebp + 0xc]
movsx eax, byte [edx]
test eax, eax
je 0x43e670
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421780
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.00424bd0
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421780
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00424bd0
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421780
add esp, 4
push eax
mov edx, dword [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.00424bd0
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00421780
add esp, 4
push eax
mov edx, dword [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00424bd0
add esp, 0xc
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00421780
add esp, 4
push eax
mov edx, dword [ebp - 0x2f8]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.00424a90
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.00421780
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.00424251
add esp, 4
mov dword [ebp - 0x2f8], 0
cmp dword [ebp + 0x10], 0
je 0x43e761
cmp dword [ebp + 0x14], 0
je 0x43e761
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.00421780
add esp, 4
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
call fcn.00424bd0
add esp, 0xc
lea edx, [ebp - 0x730]
push edx
mov ecx, dword [ebp - 0x954]
call fcn.0043d9f0
mov dword [ebp - 0x734], 0
mov dword [ebp - 0x700], 0
push 0x200
push 0
lea eax, [ebp - 0x934]
push eax
call fcn.00423a30
add esp, 0xc
cmp dword [ebp - 0x700], 0
jne 0x43e849
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 0x43e7db
mov dword [ebp - 0x700], 1
mov al, byte [ebp - 0x934]
mov byte [ebp - 0x964], al
cmp byte [ebp - 0x964], 0xa
je 0x43e7fd
cmp byte [ebp - 0x964], 0xd
je 0x43e7fb
jmp 0x43e81c
jmp 0x43e82b
cmp dword [ebp - 0x734], 0
jne 0x43e810
mov dword [ebp - 0x700], 1
mov dword [ebp - 0x734], 0
jmp 0x43e82b
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.0043dc50
jmp 0x43e79d
mov ecx, dword [ebp - 0x72c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x730]
push edx
call fcn.00421780
add esp, 4
push eax
mov eax, dword [ebp - 0x730]
push eax
mov ecx, dword [ebp + 0x18]
add ecx, 0x10000
push ecx
call fcn.00424a90
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x948], esp
push 0x451ce0
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.0043de20
add esp, 0x3c
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x724]
call fcn.004028c0
push eax
call fcn.0043d820
add esp, 4
test eax, eax
je 0x43e91a
lea ecx, [ebp - 0x724]
call fcn.004028c0
push eax
call fcn.00424bc5
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.0043d9f0
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x34]
jl 0x43e94c
jmp 0x43e9d5
push 0x200
push 0
lea eax, [ebp - 0x934]
push eax
call fcn.00423a30
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 0x43e98e
jmp 0x43e9d5
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.0043dbf0
cmp dword [ebp - 0x708], 0
jge 0x43e93f
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.004246b2
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.00423a30
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.00423ab0
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.00401af0
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.004216f0
mov esp, ebp
pop ebp
ret 0x14