Function at 0x41fd48
Capabilities:
Check for time delay via gettickcount
Get socket status

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc8c
xor eax, eax
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp + 0x10], 0x3e8
jae 0x41fd78
imul edx, dword [ebp + 0x10], 0x3e8
mov dword [ebp + 0x10], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
xor eax, eax
mov dword [ebp - 0x10], eax
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
jmp 0x420291
push 0xa
call sub.KERNEL32.DLL_Sleep
xor ecx, ecx
mov dword [ebp - 0x150], ecx
xor eax, eax
mov dword [ebp - 0x254], eax
xor edx, edx
mov dword [ebp - 0x358], edx
xor ecx, ecx
mov dword [ebp - 0x18], ecx
jmp 0x41fe66
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
movsx ecx, byte [eax + edx]
cmp ecx, 0x72
jne 0x41fdf5
cmp dword [ebp - 0x150], 0x40
jae 0x41fdec
mov eax, dword [ebp - 0x150]
inc dword [ebp - 0x150]
mov edx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x14c], edx
lea ecx, [ebp - 0x150]
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
movsx ecx, byte [eax + edx]
cmp ecx, 0x77
jne 0x41fe2c
cmp dword [ebp - 0x254], 0x40
jae 0x41fe23
mov eax, dword [ebp - 0x254]
inc dword [ebp - 0x254]
mov edx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x250], edx
lea ecx, [ebp - 0x254]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
movsx ecx, byte [eax + edx]
cmp ecx, 0x65
jne 0x41fe63
cmp dword [ebp - 0x358], 0x40
jae 0x41fe5a
mov eax, dword [ebp - 0x358]
inc dword [ebp - 0x358]
mov edx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x354], edx
lea ecx, [ebp - 0x358]
mov dword [ebp - 0xc], ecx
inc dword [ebp - 0x18]
push dword [ebp + 0xc]
call fcn.00503a8c
pop ecx
cmp eax, dword [ebp - 0x18]
jg 0x41fdbe
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 4]
push 0xffffffffffffffff
call sub.WS2_32.DLL_select
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x41fe9f
call sub.WS2_32.DLL_WSAGetLastError
mov dword [ebp - 0x20], eax
jmp 0x41fea4
xor edx, edx
mov dword [ebp - 0x20], edx
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], 0
jne 0x42001f
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x374]
push ecx
call sub.USER32.DLL_PeekMessageA
test eax, eax
je 0x41fef7
lea eax, [ebp - 0x374]
push eax
call sub.USER32.DLL_TranslateMessage
lea edx, [ebp - 0x374]
push edx
call sub.USER32.DLL_DispatchMessageA
cmp dword [ebp - 0x370], 0x12
jne 0x41fef7
or eax, 0xffffffff
jmp 0x4202a2
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
cmp edx, dword [ebp + 0x10]
jb 0x420291
cmp dword [ebp - 4], 0
je 0x41ff5d
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
jmp 0x41ff52
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + eax*4 - 0x14c]
cmp edx, dword [ebp + 8]
jne 0x41ff4f
jmp 0x41ff3b
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + ecx*4 - 0x148]
mov edx, dword [ebp - 0x2c]
mov dword [ebp + edx*4 - 0x14c], eax
inc dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x150]
dec ecx
cmp ecx, dword [ebp - 0x2c]
ja 0x41ff24
dec dword [ebp - 0x150]
jmp 0x41ff5d
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x150]
jb 0x41ff13
cmp dword [ebp - 8], 0
je 0x41ffb4
xor edx, edx
mov dword [ebp - 0x30], edx
jmp 0x41ffa9
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp + ecx*4 - 0x250]
cmp eax, dword [ebp + 8]
jne 0x41ffa6
jmp 0x41ff92
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp + edx*4 - 0x24c]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x250], ecx
inc dword [ebp - 0x30]
mov edx, dword [ebp - 0x254]
dec edx
cmp edx, dword [ebp - 0x30]
ja 0x41ff7b
dec dword [ebp - 0x254]
jmp 0x41ffb4
inc dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x254]
jb 0x41ff6a
cmp dword [ebp - 0xc], 0
je 0x42000b
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x420000
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp + edx*4 - 0x354]
cmp ecx, dword [ebp + 8]
jne 0x41fffd
jmp 0x41ffe9
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + eax*4 - 0x350]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + ecx*4 - 0x354], edx
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x358]
dec eax
cmp eax, dword [ebp - 0x34]
ja 0x41ffd2
dec dword [ebp - 0x358]
jmp 0x42000b
inc dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x358]
jb 0x41ffc1
push 0x274c
call sub.KERNEL32.DLL_SetLastError
mov eax, 0xfffffff6
jmp 0x4202a2
cmp dword [ebp - 0xc], 0
je 0x420149
push dword [ebp - 0xc]
push dword [ebp + 8]
call sub.WS2_32.DLL___WSAFDIsSet
test eax, eax
je 0x420149
cmp dword [ebp - 4], 0
je 0x420093
xor edx, edx
mov dword [ebp - 0x38], edx
jmp 0x420088
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp + ecx*4 - 0x14c]
cmp eax, dword [ebp + 8]
jne 0x420085
jmp 0x420071
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + edx*4 - 0x148]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x14c], ecx
inc dword [ebp - 0x38]
mov edx, dword [ebp - 0x150]
dec edx
cmp edx, dword [ebp - 0x38]
ja 0x42005a
dec dword [ebp - 0x150]
jmp 0x420093
inc dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x150]
jb 0x420049
cmp dword [ebp - 8], 0
je 0x4200ea
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x4200df
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp + edx*4 - 0x250]
cmp ecx, dword [ebp + 8]
jne 0x4200dc
jmp 0x4200c8
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + eax*4 - 0x24c]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp + ecx*4 - 0x250], edx
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x254]
dec eax
cmp eax, dword [ebp - 0x3c]
ja 0x4200b1
dec dword [ebp - 0x254]
jmp 0x4200ea
inc dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x254]
jb 0x4200a0
cmp dword [ebp - 0xc], 0
je 0x420141
xor ecx, ecx
mov dword [ebp - 0x40], ecx
jmp 0x420136
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + eax*4 - 0x354]
cmp edx, dword [ebp + 8]
jne 0x420133
jmp 0x42011f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + ecx*4 - 0x350]
mov edx, dword [ebp - 0x40]
mov dword [ebp + edx*4 - 0x354], eax
inc dword [ebp - 0x40]
mov ecx, dword [ebp - 0x358]
dec ecx
cmp ecx, dword [ebp - 0x40]
ja 0x420108
dec dword [ebp - 0x358]
jmp 0x420141
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x358]
jb 0x4200f7
or eax, 0xffffffff
jmp 0x4202a2
cmp dword [ebp - 4], 0
je 0x42015e
push dword [ebp - 4]
push dword [ebp + 8]
call sub.WS2_32.DLL___WSAFDIsSet
test eax, eax
jne 0x420171
cmp dword [ebp - 8], 0
je 0x420171
push dword [ebp - 8]
push dword [ebp + 8]
call sub.WS2_32.DLL___WSAFDIsSet
test eax, eax
cmp dword [ebp - 4], 0
je 0x4201c8
xor edx, edx
mov dword [ebp - 0x44], edx
jmp 0x4201bd
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp + ecx*4 - 0x14c]
cmp eax, dword [ebp + 8]
jne 0x4201ba
jmp 0x4201a6
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp + edx*4 - 0x148]
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x14c], ecx
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x150]
dec edx
cmp edx, dword [ebp - 0x44]
ja 0x42018f
dec dword [ebp - 0x150]
jmp 0x4201c8
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x150]
jb 0x42017e
cmp dword [ebp - 8], 0
je 0x42021f
xor eax, eax
mov dword [ebp - 0x48], eax
jmp 0x420214
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp + edx*4 - 0x250]
cmp ecx, dword [ebp + 8]
jne 0x420211
jmp 0x4201fd
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp + eax*4 - 0x24c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + ecx*4 - 0x250], edx
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x254]
dec eax
cmp eax, dword [ebp - 0x48]
ja 0x4201e6
dec dword [ebp - 0x254]
jmp 0x42021f
inc dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x254]
jb 0x4201d5
cmp dword [ebp - 0xc], 0
je 0x420276
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
jmp 0x42026b
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + eax*4 - 0x354]
cmp edx, dword [ebp + 8]
jne 0x420268
jmp 0x420254
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp + ecx*4 - 0x350]
mov edx, dword [ebp - 0x4c]
mov dword [ebp + edx*4 - 0x354], eax
inc dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x358]
dec ecx
cmp ecx, dword [ebp - 0x4c]
ja 0x42023d
dec dword [ebp - 0x358]
jmp 0x420276
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x358]
jb 0x42022c
cmp dword [ebp - 0x20], 0x2714
jne 0x420286
mov eax, 0x2714
jmp 0x4202a2
cmp dword [ebp - 0x20], 0
je 0x4202a0
or eax, 0xffffffff
jmp 0x4202a2
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
cmp edx, dword [ebp + 0x10]
jbe 0x41fd95
xor eax, eax
mov esp, ebp
pop ebp
ret