Function at 0x442390
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 [0x58b7c8]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x1ac], 1
cmp dword [0x592334], 0
je 0x4423cb
cmp dword [0x592338], 0
je 0x4423cb
mov dword [ebp - 0x4e8], 1
jmp 0x4423d5
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x4423f8
mov ecx, dword [0x592338]
mov dword [ebp - 0x4ec], ecx
jmp 0x442404
mov edx, dword [0x582720]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], eax
cmp dword [ebp + 0x20], 0
je 0x44241c
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 0x442447
mov eax, 0xfffffff2
jmp 0x442881
cmp dword [ebp - 0x1c0], 0
je 0x44245d
mov eax, dword [0x592334]
mov dword [ebp - 0x4f0], eax
jmp 0x44248a
cmp dword [0x592330], 0
je 0x442474
mov ecx, dword [0x592330]
mov dword [ebp - 0x4f4], ecx
jmp 0x44247e
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 0x442504
push 0x10
push 0
lea ecx, [ebp - 0x1a8]
push ecx
call sub.MSVCR90.dll_memset
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 sub.MSVCR90.dll_memmove
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 0x44250c
or eax, 0xffffffff
jmp 0x442881
push str.CHECK
mov edx, dword [ebp + 8]
push edx
call sub.MSVCR90.dll_strcmp
add esp, 8
test eax, eax
jne 0x44269f
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jge 0x44254a
mov eax, 0xfffffffe
jmp 0x442881
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 0x442584
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 0x442881
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 0x442685
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4e4], 0
jmp 0x4425c7
mov edx, dword [ebp - 0x4e4]
add edx, 1
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4e0]
jae 0x4425ee
mov ecx, dword [ebp - 0x4e4]
mov edx, dword [ebp + ecx*4 - 0x4dc]
cmp edx, dword [ebp - 0x1c8]
jne 0x4425ec
jmp 0x4425ee
jmp 0x4425b8
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4e0]
jne 0x442627
cmp dword [ebp - 0x4e0], 0x40
jae 0x442627
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 0x4425ac
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 0x442685
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 0x442881
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 0x442881
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jge 0x4426c4
mov eax, 0xfffffffe
jmp 0x442881
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 0x442705
mov dword [ebp - 0x1bc], 0xfffffffd
jmp 0x442868
cmp dword [ebp + 0x20], 0
je 0x442716
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x1b4]
mov dword [eax], ecx
cmp dword [ebp - 0x1c0], 0
je 0x442754
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 [0x582720]
push edx
mov eax, dword [0x592330]
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 sub.MSVCR90.dll_sprintf
add esp, 0x20
jmp 0x44277b
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 sub.MSVCR90.dll_sprintf
add esp, 0x18
lea edx, [ebp - 0x3d8]
push edx
call sub.MSVCR90.dll_strlen
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 0x4427c4
mov dword [ebp - 0x1bc], 0xfffffffc
jmp 0x442868
cmp dword [ebp + 0x1c], 0
je 0x4427f8
cmp dword [ebp + 0x18], 0
je 0x4427f8
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 0x4427f8
mov dword [ebp - 0x1bc], 0xfffffffb
jmp 0x442868
push 0x1ff
lea eax, [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x1b4]
push ecx
call fcn.00442890
add esp, 0xc
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jg 0x44282e
mov dword [ebp - 0x1bc], 0xfffffffa
jmp 0x442868
lea edx, [ebp - 0x1bc]
push edx
push str.HTTP_1._d__03d
lea eax, [ebp - 0x3d8]
push eax
call sub.MSVCR90.dll_sscanf
add esp, 0xc
cmp eax, 1
je 0x44285a
mov dword [ebp - 0x1bc], 0xfffffff9
jmp 0x442868
cmp dword [ebp + 0x14], 1
jne 0x442868
mov eax, dword [ebp - 0x1bc]
jmp 0x442881
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.00472edc
mov esp, ebp
pop ebp
ret