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

Disassembly:
sub esp, 0x350
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x368]
mov eax, dword [edi + 0x134]
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x28], ecx
xor ecx, ecx
add edi, 0x3c8
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], ecx
cmp eax, ecx
je 0x443968
mov dword [eax], ecx
jmp 0x443975
lea edx, [esp + 0x34]
mov dword [esp + 0x36c], edx
mov eax, edx
mov edx, dword [esp + 0x364]
mov dword [edx], ecx
cmp dword [eax], ecx
jne 0x443c6b
jmp 0x443990
xor esi, esi
cmp dword [esp + 0x1c], esi
jne 0x443c6b
mov eax, edi
call fcn.00454f70
cmp eax, esi
jle 0x443c81
mov ebx, 0x3e8
cmp eax, ebx
jge 0x4439b6
mov ebx, eax
cmp dword [edi], esi
je 0x4439c5
cmp dword [esp + 0x20], 2
jl 0x443bc3
xor ebp, ebp
cmp dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x44], esi
jne 0x4439f9
test ebx, ebx
je 0x4439f2
jge 0x4439eb
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
jmp 0x443bb6
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x443bb6
test ebx, ebx
jle 0x443a27
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov ebp, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
test ebx, ebx
setl cl
lea edx, [esp + 0x2c]
mov eax, 1
mov dword [esp + 0x150], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x258], 0
dec ecx
and ecx, edx
mov dword [esp + 0x3c], ecx
xor eax, eax
cmp ebx, eax
jle 0x443a94
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x2c], eax
imul eax, eax, 0x3e8
mov ecx, esi
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [esp + 0x30], ecx
jmp 0x443a9e
jne 0x443a9e
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x3c]
push edx
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x260]
push ecx
lea edx, [esp + 0x15c]
push edx
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov edi, eax
cmp edi, 0xffffffff
jne 0x443b77
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x443af1
cmp dword [0x4cbda8], 0
jne 0x443b77
cmp eax, 0x2714
jne 0x443b77
test ebx, ebx
jle 0x443a63
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
sub ecx, dword [esp + 0x44]
mov esi, ebp
sub esi, edx
mov eax, 0x10624dd3
imul esi, esi, 0x3e8
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, ebx
test esi, esi
jg 0x443a63
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x368]
push ecx
call fcn.00439c90
add esp, 4
test eax, eax
jne 0x443ca2
mov edx, dword [esp + 0x36c]
cmp dword [edx], 0
je 0x443990
jmp 0x443c6b
test edi, edi
jl 0x443cb2
je 0x443b46
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x150]
push edx
push edi
xor esi, esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x443b9e
mov esi, 1
lea eax, [esp + 0x48]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x443bb0
or esi, 4
mov edi, dword [esp + 0x14]
mov eax, esi
cmp eax, 0xffffffff
je 0x443cb2
test eax, eax
je 0x443b4a
mov eax, dword [esp + 0x18]
mov esi, dword [edi + 0x2c]
mov ebx, dword [esi]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x28]
push edx
push eax
call fcn.00455340
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x378]
mov dword [ebx + 0x86ac], ecx
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [edx], ecx
cmp ecx, 0x1a5
je 0x443c46
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x443c67
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x443c2c
mov eax, dword [esp + 0x14]
cmp dword [eax], ecx
je 0x443c2c
mov eax, dword [esp + 0x364]
inc dword [esp + 0x20]
add dword [eax], ecx
mov edi, dword [esp + 0x14]
jmp 0x443b62
mov eax, dword [esp + 0x364]
add dword [eax], ecx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 0
jmp 0x443b62
push str.We_got_a_421___timeout__n
mov ecx, ebx
call fcn.00433c20
add esp, 4
mov dword [esi + 0x43c], 0
mov dword [esp + 0x1c], 0x1c
mov edi, dword [esp + 0x14]
mov dword [edi + 0x10], 0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x350
ret
mov eax, dword [esp + 0x28]
push str.FTP_response_timeout
call fcn.00433ce0
add esp, 4
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x350
ret
mov eax, 0x2a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x350
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov eax, dword [esp + 0x2c]
push str.FTP_response_aborted_due_to_select_poll_error:__d
call fcn.00433ce0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x350
ret