Function at 0x41da6c
Capabilities:
Create thread
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 5
add esp, 0xfffff004
push eax
dec eax
jne 0x41da75
mov eax, dword [ebp - 4]
add esp, 0xfffffecc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x5138], ebx
mov dword [ebp - 0x5124], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004043dc
mov eax, dword [ebp - 0xc]
call fcn.004043dc
xor eax, eax
push ebp
push 0x41dd51
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x41dd13
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x1c], eax
call fcn.0041da38
mov ebx, eax
test ebx, ebx
jne 0x41daeb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41dd1d
call fcn.0041da38
mov esi, eax
test esi, esi
jne 0x41db03
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41dd1d
lea eax, [ebp - 0x5124]
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x5134], eax
mov byte [ebp - 0x5130], 0xb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x512c], eax
mov byte [ebp - 0x5128], 0
lea edx, [ebp - 0x5134]
mov ecx, 1
mov eax, 0x41dd6c
call fcn.00408ca4
mov eax, dword [ebp - 0x5124]
call fcn.0041cb08
mov eax, dword [ebp - 4]
call fcn.004043ec
mov edx, eax
mov ecx, dword [ebp - 8]
mov eax, ebx
call fcn.0041d904
test eax, eax
jne 0x41db8b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x41db7a
mov eax, 0x41dd8c
call fcn.0041cb08
jmp 0x41dd09
push ebx
call sub.ws2_32.dll_closesocket
push esi
call sub.ws2_32.dll_closesocket
jmp 0x41dad3
xor edi, edi
lea eax, [ebp - 0x5120]
mov edx, 0x5000
call fcn.004069cc
lea eax, [ebp - 0x120]
call fcn.0041c9c0
lea edx, [ebp - 0x120]
mov eax, ebx
call fcn.0041c9b0
push 0
push 0
push 0
lea eax, [ebp - 0x120]
push eax
lea eax, [ebx + 1]
push eax
call sub.ws2_32.dll_select
inc eax
jne 0x41dbdc
call sub.kernel32.dll_GetLastError
cmp eax, 0x2714
je 0x41db9d
jmp 0x41dc0e
lea edx, [ebp - 0x120]
mov eax, ebx
call fcn.0041c998
test al, al
je 0x41dc05
push 0
push 0x5000
lea eax, [ebp - 0x5120]
push eax
push ebx
call sub.ws2_32.dll_recv
mov edi, eax
jmp 0x41dc0e
push 5
call sub.kernel32.dll_Sleep_1
jmp 0x41db9d
test edi, edi
jle 0x41dad3
lea eax, [ebp - 0x5138]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x5134], eax
mov byte [ebp - 0x5130], 0xb
mov eax, dword [ebp + 8]
mov dword [ebp - 0x512c], eax
mov byte [ebp - 0x5128], 0
lea edx, [ebp - 0x5134]
mov ecx, 1
mov eax, 0x41dda4
call fcn.00408ca4
mov eax, dword [ebp - 0x5138]
call fcn.0041cb08
mov eax, dword [ebp - 0xc]
call fcn.004043ec
mov edx, eax
mov ecx, dword [ebp + 8]
mov eax, esi
call fcn.0041d904
test eax, eax
jne 0x41dc83
push ebx
call sub.ws2_32.dll_closesocket
push esi
call sub.ws2_32.dll_closesocket
jmp 0x41dc16
push 0
push edi
lea eax, [ebp - 0x5120]
push eax
push esi
call sub.ws2_32.dll_send
inc eax
je 0x41dc16
lea eax, [ebp - 0x5120]
mov edx, 0x5000
call fcn.004069cc
mov eax, 0x41ddc8
call fcn.0041cb08
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x18]
push eax
push 0
lea eax, [ebp - 0x14]
push eax
push 0x41cb30
push 0
push 0
call sub.kernel32.dll_CreateThread_1
mov ebx, eax
test ebx, ebx
jne 0x41dcf0
mov eax, 0x41ddf0
call fcn.0041cb08
push 0
push ebx
call sub.kernel32.dll_TerminateThread
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41dd1d
push 0x3e8
call sub.kernel32.dll_Sleep_1
mov eax, 0x41de18
call fcn.0041cb08
jmp 0x41dad3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41dd1d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41dd58
lea eax, [ebp - 0x5138]
call fcn.00403f2c
lea eax, [ebp - 0x5124]
call fcn.00403f2c
lea eax, [ebp - 0xc]
call fcn.00403f2c
lea eax, [ebp - 4]
call fcn.00403f2c
ret