Function at 0x41e410
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get socket status
Initialize winsock library
Resolve dns
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4f4
mov eax, dword [0x539a68]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x1ac], 1
cmp dword [0x55c678], 0
je 0x41e44b
cmp dword [0x55c67c], 0
je 0x41e44b
mov dword [ebp - 0x4e8], 1
jmp 0x41e455
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x41e478
mov ecx, dword [0x55c67c]
mov dword [ebp - 0x4ec], ecx
jmp 0x41e484
mov edx, dword [0x54ed3c]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], eax
cmp dword [ebp + 0x20], 0
je 0x41e49c
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0xffffffff
lea edx, [ebp - 0x198]
push edx
push 0x202
call dword [sym.imp.WSOCK32.dll_WSAStartup]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x41e4c7
mov eax, 0xfffffff2
jmp 0x41e901
cmp dword [ebp - 0x1c0], 0
je 0x41e4dd
mov eax, dword [0x55c678]
mov dword [ebp - 0x4f0], eax
jmp 0x41e50a
cmp dword [0x55c674], 0
je 0x41e4f4
mov ecx, dword [0x55c674]
mov dword [ebp - 0x4f4], ecx
jmp 0x41e4fe
mov dword [ebp - 0x4f4], str.adonis
mov edx, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x4f0]
push eax
call dword [sym.imp.WSOCK32.dll_gethostbyname]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
je 0x41e584
push 0x10
push 0
lea ecx, [ebp - 0x1a8]
push ecx
call fcn.004057a0
add esp, 0xc
mov edx, dword [ebp - 0x1c4]
movsx eax, word [edx + 0xa]
push eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.00408fb0
add esp, 0xc
mov edx, dword [ebp - 0x1c4]
mov ax, word [edx + 8]
mov word [ebp - 0x1a8], ax
mov cx, word [ebp - 4]
push ecx
call dword [sym.imp.WSOCK32.dll_htons]
mov word [ebp - 0x1a6], ax
jmp 0x41e58c
or eax, 0xffffffff
jmp 0x41e901
push str.CHECK
mov edx, dword [ebp + 8]
push edx
call fcn.004046b0
add esp, 8
test eax, eax
jne 0x41e71f
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jge 0x41e5ca
mov eax, 0xfffffffe
jmp 0x41e901
lea eax, [ebp - 0x1ac]
push eax
push 0x8004667e
mov ecx, dword [ebp - 0x1c8]
push ecx
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
test eax, eax
jge 0x41e604
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov eax, 0xfffffffe
jmp 0x41e901
push 0x10
lea eax, [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
call dword [sym.imp.WSOCK32.dll_connect]
test eax, eax
jge 0x41e705
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4e4], 0
jmp 0x41e647
mov edx, dword [ebp - 0x4e4]
add edx, 1
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4e0]
jae 0x41e66e
mov ecx, dword [ebp - 0x4e4]
mov edx, dword [ebp + ecx*4 - 0x4dc]
cmp edx, dword [ebp - 0x1c8]
jne 0x41e66c
jmp 0x41e66e
jmp 0x41e638
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4e0]
jne 0x41e6a7
cmp dword [ebp - 0x4e0], 0x40
jae 0x41e6a7
mov ecx, dword [ebp - 0x4e4]
mov edx, dword [ebp - 0x1c8]
mov dword [ebp + ecx*4 - 0x4dc], edx
mov eax, dword [ebp - 0x4e0]
add eax, 1
mov dword [ebp - 0x4e0], eax
xor ecx, ecx
jne 0x41e62c
mov dword [ebp - 0x1d0], 2
mov dword [ebp - 0x1cc], 0
lea edx, [ebp - 0x1d0]
push edx
push 0
lea eax, [ebp - 0x4e0]
push eax
push 0
push 0x40
call dword [sym.imp.WSOCK32.dll_select]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 1
je 0x41e705
mov ecx, dword [ebp - 0x1c8]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov eax, 0xfffffff1
jmp 0x41e901
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
call dword [sym.imp.WSOCK32.dll_WSACleanup]
xor eax, eax
jmp 0x41e901
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jge 0x41e744
mov eax, 0xfffffffe
jmp 0x41e901
push 0
push 0
push 8
push 0xffff
mov eax, dword [ebp - 0x1b4]
push eax
call dword [sym.imp.WSOCK32.dll_setsockopt]
push 0x10
lea ecx, [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 0x1b4]
push edx
call dword [sym.imp.WSOCK32.dll_connect]
test eax, eax
jge 0x41e785
mov dword [ebp - 0x1bc], 0xfffffffd
jmp 0x41e8e8
cmp dword [ebp + 0x20], 0
je 0x41e796
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x1b4]
mov dword [eax], ecx
cmp dword [ebp - 0x1c0], 0
je 0x41e7d4
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [str.adlib_3___Date:_1998_09_23_06:19:15___]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [0x54ed3c]
push edx
mov eax, dword [0x55c674]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str._s_http:___.128s:_d__.256s_HTTP_1.0_r_nUser_Agent:__s_r_n_s_r_n
lea edx, [ebp - 0x3d8]
push edx
call fcn.00443408
add esp, 0x20
jmp 0x41e7fb
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [str.adlib_3___Date:_1998_09_23_06:19:15___]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
push str._s___.256s_HTTP_1.0_r_nUser_Agent:__s_r_n_s_r_n
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.00443408
add esp, 0x18
lea edx, [ebp - 0x3d8]
push edx
call fcn.004038b0
add esp, 4
mov dword [ebp - 0x1d4], eax
push 0
mov eax, dword [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x3d8]
push ecx
mov edx, dword [ebp - 0x1b4]
push edx
call dword [sym.imp.WSOCK32.dll_send]
cmp eax, dword [ebp - 0x1d4]
je 0x41e844
mov dword [ebp - 0x1bc], 0xfffffffc
jmp 0x41e8e8
cmp dword [ebp + 0x1c], 0
je 0x41e878
cmp dword [ebp + 0x18], 0
je 0x41e878
push 0
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 0x1b4]
push edx
call dword [sym.imp.WSOCK32.dll_send]
cmp eax, dword [ebp + 0x1c]
je 0x41e878
mov dword [ebp - 0x1bc], 0xfffffffb
jmp 0x41e8e8
push 0x1ff
lea eax, [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x1b4]
push ecx
call fcn.0041e910
add esp, 0xc
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jg 0x41e8ae
mov dword [ebp - 0x1bc], 0xfffffffa
jmp 0x41e8e8
lea edx, [ebp - 0x1bc]
push edx
push str.HTTP_1._d__03d
lea eax, [ebp - 0x3d8]
push eax
call fcn.004436a0
add esp, 0xc
cmp eax, 1
je 0x41e8da
mov dword [ebp - 0x1bc], 0xfffffff9
jmp 0x41e8e8
cmp dword [ebp + 0x14], 1
jne 0x41e8e8
mov eax, dword [ebp - 0x1bc]
jmp 0x41e901
mov ecx, dword [ebp - 0x1b4]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0040553d
mov esp, ebp
pop ebp
ret