Function at 0x40c668
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x40c670
push ebx
push esi
push edi
mov eax, dword [0x40d3b4]
mov byte [eax], 1
mov eax, 0x40c5f8
call fcn.00404e1c
mov esi, dword [0x40d308]
xor eax, eax
push ebp
push 0x40c9aa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
xor edx, edx
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
mov edx, 0x40c9c4
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
mov edx, 0x40c9e4
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
xor edx, edx
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40ca34
call fcn.0040826c
test al, al
je 0x40c711
call fcn.0040bef0
jmp 0x40c98f
xor edi, edi
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40ca40
call fcn.0040826c
test al, al
je 0x40c734
mov byte [0x40d298], 0
mov edi, 1
mov byte [0x40e940], 0
cmp byte [0x40d298], 0
je 0x40c78e
push 0x40e7b0
push 0x101
call sub.wsock32.dll_WSAStartup
test eax, eax
sete byte [0x40e940]
cmp byte [0x40e940], 0
jne 0x40c78e
mov eax, esi
mov edx, 0x40ca4c
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
call fcn.00402e8c
call fcn.0040262c
mov byte [0x40d298], 0
call fcn.0040c520
mov ebx, eax
test ebx, ebx
je 0x40c7a5
push 0xffffffffffffffff
push 0x40c5a4
call sub.kernel32.dll_SetConsoleCtrlHandler
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40ca94
call fcn.0040826c
test al, al
je 0x40c7c6
xor eax, eax
call fcn.00409294
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40caa0
call fcn.0040826c
test al, al
je 0x40c7e5
call fcn.0040b430
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40caac
call fcn.0040826c
test al, al
je 0x40c895
call fcn.0040ae90
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cab8
call fcn.0040826c
test al, al
je 0x40c864
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cac4
call fcn.0040826c
test al, al
je 0x40c858
lea edx, [ebp - 0x14]
lea eax, [edi + 4]
call fcn.00402808
mov eax, dword [ebp - 0x14]
call fcn.0040b388
lea edx, [ebp - 0x18]
lea eax, [edi + 4]
call fcn.00402808
mov eax, dword [ebp - 0x18]
call fcn.00409294
jmp 0x40c92e
xor eax, eax
call fcn.0040b388
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cac4
call fcn.0040826c
test al, al
je 0x40c92e
lea edx, [ebp - 0x1c]
lea eax, [edi + 3]
call fcn.00402808
mov eax, dword [ebp - 0x1c]
call fcn.00409294
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cab8
call fcn.0040826c
test al, al
je 0x40c8ff
call fcn.004027a8
dec eax
jne 0x40c8bb
xor eax, eax
call fcn.0040b388
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cac4
call fcn.0040826c
test al, al
je 0x40c8f8
lea edx, [ebp - 0x20]
lea eax, [edi + 3]
call fcn.00402808
mov eax, dword [ebp - 0x20]
call fcn.0040b388
lea edx, [ebp - 0x24]
lea eax, [edi + 3]
call fcn.00402808
mov eax, dword [ebp - 0x24]
call fcn.00409294
jmp 0x40c92e
call fcn.0040bef0
jmp 0x40c92e
mov edx, 0x40ca0c
mov cl, 1
mov eax, 0x40cac4
call fcn.0040826c
test al, al
je 0x40c929
lea edx, [ebp - 0x28]
lea eax, [edi + 2]
call fcn.00402808
mov eax, dword [ebp - 0x28]
call fcn.00409294
jmp 0x40c92e
call fcn.0040bef0
test ebx, ebx
je 0x40c97a
mov eax, esi
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
mov edx, 0x40cad0
call fcn.004043c0
call fcn.00402e8c
call fcn.0040262c
mov eax, esi
call fcn.00402e8c
call fcn.0040262c
imul eax, ebx, 0x3e8
test eax, eax
jns 0x40c96f
call fcn.0040330c
push eax
call sub.kernel32.dll_Sleep
jmp 0x40c7a5
cmp byte [0x40e940], 0
je 0x40c98f
call sub.wsock32.dll_WSACleanup
mov byte [0x40e940], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40c9b1
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.00403ec4
ret