Function at 0x41f2cc
Capabilities:
Act as tcp client
Check if file exists
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get file attributes
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x3d
push 0
push 0
dec ecx
jne 0x41f2d5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404b28
mov eax, dword [ebp - 8]
call fcn.00404b28
mov eax, dword [ebp - 0xc]
call fcn.00404b28
mov eax, dword [ebp + 0x1c]
call fcn.00404b28
mov eax, dword [ebp + 0x18]
call fcn.00404b28
mov eax, dword [ebp + 0x14]
call fcn.00404b28
mov eax, dword [ebp + 0x10]
call fcn.00404b28
mov eax, dword [ebp + 0xc]
call fcn.00404b28
xor eax, eax
push ebp
push 0x41f7a4
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [ebp - 8], 0
je 0x41f76c
lea eax, [ebp - 0x1a0]
push eax
push 0x101
call fcn.0041b0fc
test eax, eax
jne 0x41f76c
push 0
push 1
push 2
call fcn.0041b0ec
mov esi, eax
cmp esi, 0xffffffff
je 0x41f767
cmp dword [ebp + 0x14], 0
jne 0x41f386
lea edx, [ebp + 0x14]
mov eax, dword [ebp - 8]
call fcn.0041e9e8
cmp dword [ebp + 0x14], 0
je 0x41f761
mov eax, dword [ebp + 0x14]
call fcn.00404b38
push eax
call fcn.0041b0bc
mov edi, eax
cmp edi, 0xffffffff
jne 0x41f3be
mov eax, dword [ebp + 0x14]
call fcn.00404b38
push eax
call fcn.0041b0f4
test eax, eax
je 0x41f3be
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edi, dword [eax]
cmp edi, 0xffffffff
je 0x41f761
mov word [ebp - 0x1b0], 2
mov ax, word [ebp + 8]
push eax
call fcn.0041b0b4
mov word [ebp - 0x1ae], ax
mov dword [ebp - 0x1ac], edi
mov byte [ebp - 0xd], 0
push 0x10
lea eax, [ebp - 0x1b0]
push eax
push esi
call fcn.0041b0ac
inc eax
je 0x41f761
xor ecx, ecx
mov edx, 0x41f7c0
mov eax, esi
call fcn.0041ed28
test al, al
je 0x41f761
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x1b8]
call fcn.0041bc8c
mov ecx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x1b4]
mov edx, 0x41f7cc
call fcn.0040498c
mov edx, dword [ebp - 0x1b4]
mov ecx, 0x41f7dc
mov eax, esi
call fcn.0041efac
test al, al
jne 0x41f48f
push 0
lea eax, [ebp - 0x1c0]
call fcn.0041bc8c
mov ecx, dword [ebp - 0x1c0]
lea eax, [ebp - 0x1bc]
mov edx, 0x41f7e8
call fcn.0040498c
mov edx, dword [ebp - 0x1bc]
mov ecx, 0x41f7dc
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f761
cmp dword [ebp - 4], 0
jne 0x41f4a0
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00404720
cmp dword [ebp + 0x10], 0
jne 0x41f4ac
cmp dword [ebp + 0xc], 0
je 0x41f525
cmp byte [ebp - 0xd], 0
je 0x41f74c
push 0
mov ecx, 0x41f7f8
mov edx, 0x41f804
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
push 0
lea edx, [ebp - 0x1c4]
mov eax, dword [ebp + 0x10]
call fcn.004138ac
mov edx, dword [ebp - 0x1c4]
mov ecx, 0x41f7f8
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
push 0
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp + 0xc]
call fcn.004138ac
mov edx, dword [ebp - 0x1c8]
mov ecx, 0x41f818
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
push 0
lea ecx, [ebp - 0x1d0]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0041cec8
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x1cc]
mov edx, 0x41f824
call fcn.0040498c
mov edx, dword [ebp - 0x1cc]
mov ecx, 0x41f7dc
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
push 0
lea ecx, [ebp - 0x1d8]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.0041cec8
mov ecx, dword [ebp - 0x1d8]
lea eax, [ebp - 0x1d4]
mov edx, 0x41f838
call fcn.0040498c
mov edx, dword [ebp - 0x1d4]
mov ecx, 0x41f7dc
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
cmp dword [ebp - 0xc], 0
jne 0x41f5b9
cmp dword [ebp + 0x1c], 0
je 0x41f737
push 0
lea eax, [ebp + 0x1c]
mov ecx, 0x41f84c
mov edx, 0x41f85c
call fcn.004081b8
push 0x41f86c
lea eax, [ebp - 0x1dc]
push eax
mov cl, 0x3d
mov edx, 0x4f5984
mov eax, dword [ebp - 0xc]
call fcn.0041dfd4
push dword [ebp - 0x1dc]
push 0x41f884
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404a00
push 0
mov ecx, 0x41f890
mov edx, 0x41f89c
mov eax, esi
call fcn.0041efac
test al, al
je 0x41f74c
push 0x41f8ac
lea ecx, [ebp - 0x1e4]
mov dl, 1
mov eax, dword [ebp - 8]
call fcn.0041cec8
push dword [ebp - 0x1e4]
push 0x41f8bc
push 0x41f8c8
lea ecx, [ebp - 0x1e8]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0041cec8
push dword [ebp - 0x1e8]
push 0x41f8bc
push 0x41f8d8
push dword [ebp - 0xc]
push 0x41f8bc
lea eax, [ebp - 0x1e0]
mov edx, 9
call fcn.00404a00
mov edx, dword [ebp - 0x1e0]
mov eax, esi
call fcn.0041ec90
mov ebx, eax
test bl, bl
je 0x41f6ac
cmp dword [ebp + 0x18], 0
je 0x41f6ac
mov eax, dword [ebp + 0x18]
call fcn.00404b38
push eax
call fcn.00406fbc
cmp eax, 0xffffffff
jne 0x41f6ac
lea eax, [ebp + 0x18]
call fcn.00404688
cmp dword [ebp + 0x18], 0
je 0x41f6fe
push 0x41f8ec
push dword [ebp + 0x1c]
push 0x41f8bc
lea eax, [ebp - 0x1ec]
mov edx, 3
call fcn.00404a00
mov edx, dword [ebp - 0x1ec]
mov eax, esi
call fcn.0041ec90
mov ebx, eax
test bl, bl
je 0x41f720
mov edx, dword [ebp + 0x18]
mov eax, esi
call fcn.0041f054
mov ebx, eax
mov edx, 0x41f9a4
mov eax, esi
call fcn.0041ec90
and bl, al
jmp 0x41f720
lea eax, [ebp - 0x1f0]
mov ecx, dword [ebp + 0x1c]
mov edx, 0x41f8bc
call fcn.0040498c
mov edx, dword [ebp - 0x1f0]
mov eax, esi
call fcn.0041ec90
mov ebx, eax
push 0
mov ecx, 0x41f7dc
mov edx, 0x41f9d0
mov eax, esi
call fcn.0041efac
and bl, al
jmp 0x41f74c
push 0
mov ecx, 0x41f7dc
mov edx, 0x41f9dc
mov eax, esi
call fcn.0041efac
mov ebx, eax
push 0
mov ecx, 0x41f9ec
mov edx, 0x41f9f8
mov eax, esi
call fcn.0041efac
and bl, al
push esi
call fcn.0041b0a4
call fcn.0041b104
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41f7ab
lea eax, [ebp - 0x1f0]
mov edx, 0x10
call fcn.004046ac
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004046ac
lea eax, [ebp + 0xc]
mov edx, 5
call fcn.004046ac
ret