Function at 0x416858
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get hostname
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x6f
push 0
push 0
dec ecx
jne 0x416861
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.00404bb0
mov eax, dword [ebp - 0xc]
call fcn.00404bb0
mov eax, dword [ebp - 0x10]
call fcn.00404bb0
mov eax, dword [ebp + 0xc]
call fcn.00404bb0
mov eax, dword [ebp + 8]
call fcn.00404bb0
xor eax, eax
push ebp
push 0x416cec
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 8], 0
je 0x416ca7
cmp dword [ebp - 0xc], 0
je 0x416ca7
lea eax, [ebp - 0x20]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x416d08
call fcn.00404d04
inc eax
push eax
mov eax, dword [ebp - 8]
call fcn.004049c0
mov ecx, eax
mov eax, dword [ebp - 8]
pop edx
call fcn.00404c20
mov ecx, dword [ebp - 0x20]
mov dl, 1
mov eax, dword [0x415c74]
call fcn.004163b0
mov edi, eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x416ca7
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x416ca7
inc ebx
xor esi, esi
lea eax, [ebp - 0x300]
push eax
mov dl, 1
mov al, 2
call fcn.00406758
push eax
call sub.wsock32.dll_WSAStartup
push 0x40
lea eax, [ebp - 0x350]
push eax
call sub.wsock32.dll_gethostname
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov dword [ebp - 4], eax
mov word [ebp - 0x310], 2
push 0x19
call sub.wsock32.dll_htons
mov word [ebp - 0x30e], ax
lea ecx, [ebp - 0x358]
mov eax, dword [edi + 0xc]
mov edx, esi
call fcn.00415c20
mov eax, dword [ebp - 0x358]
lea edx, [ebp - 0x354]
call fcn.00416660
mov eax, dword [ebp - 0x354]
call fcn.00404bc0
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x30c], eax
push 0x10
lea eax, [ebp - 0x310]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wsock32.dll_connect
inc eax
jle 0x416c9f
call fcn.00402998
push 0x416d14
mov eax, 0x5f5e0ff
call fcn.0040305c
lea edx, [ebp - 0x35c]
call fcn.00416494
push dword [ebp - 0x35c]
push 0x416d20
mov eax, 0x270f
call fcn.0040305c
lea edx, [ebp - 0x360]
call fcn.00416494
push dword [ebp - 0x360]
push 0x416d2c
lea eax, [ebp - 0x24]
mov edx, 5
call fcn.00404a80
push ebp
mov eax, 0x416d38
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
push 0x416d44
lea eax, [ebp - 0x368]
lea edx, [ebp - 0x350]
mov ecx, 0x40
call fcn.00404994
push dword [ebp - 0x368]
push 0x416d54
lea eax, [ebp - 0x364]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x364]
mov edx, dword [ebp - 4]
call fcn.00416720
push ebp
mov eax, 0x416d60
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
push 0x416d6c
push dword [ebp - 0xc]
push 0x416d84
lea eax, [ebp - 0x36c]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x36c]
mov edx, dword [ebp - 4]
call fcn.00416720
push ebp
mov eax, 0x416d60
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
push 0x416d90
push dword [ebp - 8]
push 0x416d84
lea eax, [ebp - 0x370]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x370]
mov edx, dword [ebp - 4]
call fcn.00416720
push ebp
mov eax, 0x416d60
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
mov edx, dword [ebp - 4]
mov eax, 0x416da4
call fcn.00416720
push ebp
mov eax, 0x416db4
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
push 0x416dc0
push dword [ebp - 0xc]
push 0x416d54
push 0x416dd0
push dword [ebp - 8]
push 0x416d54
push 0x416de0
push dword [ebp + 0xc]
push 0x416d54
push 0x416df4
push 0x416e10
push dword [ebp - 0x24]
push 0x416e44
push 0x416d20
push dword [ebp - 0x24]
push 0x416d54
push 0x416e54
push dword [ebp + 8]
push 0x416e8c
push 0x416d20
push dword [ebp - 0x24]
push 0x416d54
push 0x416e9c
push 0x416ed4
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x10]
call fcn.004164cc
push dword [ebp - 0x378]
push 0x416ee4
push 0x416ef0
lea eax, [ebp - 0x374]
mov edx, 0x1b
call fcn.00404a80
mov eax, dword [ebp - 0x374]
mov edx, dword [ebp - 4]
call fcn.00416720
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x170]
call fcn.00402cb0
mov eax, dword [0x41b6e0]
mov byte [eax], 0
mov edx, 1
lea eax, [ebp - 0x170]
call fcn.00403350
call fcn.004027ec
test eax, eax
jne 0x416c44
lea eax, [ebp - 0x170]
call fcn.00402ff0
mov edx, eax
lea eax, [ebp - 0x18]
call fcn.00404d4c
push 0
lea eax, [ebp - 0x170]
call fcn.00402ff0
push eax
lea eax, [ebp - 0x18]
call fcn.00404c18
mov edx, eax
lea eax, [ebp - 0x170]
pop ecx
call fcn.00402e0c
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.004165e8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00416720
lea eax, [ebp - 0x170]
call fcn.00402e2c
push 0x416f20
push dword [ebp - 0x24]
push 0x416f30
lea eax, [ebp - 0x37c]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x37c]
mov edx, dword [ebp - 4]
call fcn.00416720
push ebp
mov eax, 0x416d60
call fcn.0041677c
pop ecx
test eax, eax
je 0x416ca7
mov edx, dword [ebp - 4]
mov eax, 0x416f40
call fcn.00416720
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [0x41b6fc]
inc dword [eax]
call sub.wsock32.dll_WSACleanup
inc esi
dec ebx
jne 0x416919
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x416cf3
lea eax, [ebp - 0x37c]
mov edx, 0xb
call fcn.00404748
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00404748
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404748
lea eax, [ebp + 8]
mov edx, 2
call fcn.00404748
ret