Function at 0x5a5940
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x640529
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x703eb0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x24]
mov byte [edi], 0
mov ecx, ebx
mov byte [eax], 0
call fcn.0053aff0
cmp byte [0x711614], 0
je 0x5a59ca
lea ecx, [ebp - 0x14]
call fcn.00561fd0
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0
call fcn.005a5100
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
test al, al
jne 0x5a59c5
call fcn.00561ff0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00561ff0
push 0x68
call fcn.00419f69
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x5a59ed
mov ecx, eax
call fcn.005f4270
mov esi, eax
jmp 0x5a59ef
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x5a5a1d
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
push str.Memory_allocation_failure.
call eax
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x23e6
mov ecx, esi
call fcn.005f4c00
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
push edi
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005f4660
mov edx, dword [esi]
mov byte [ebp - 0xd], al
mov eax, dword [edx]
mov ecx, esi
call eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x5a5aad
mov dword [ebp - 0x18], eax
jmp 0x5a5a74
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 0x18]
cmp esi, eax
jbe 0x5a5a7d
mov esi, eax
push esi
call fcn.00550010
mov ecx, dword [ebp + 0x20]
add esp, 4
test ecx, ecx
je 0x5a5aa8
mov edx, dword [ebp + 0x18]
push 0x70
push edx
call fcn.0056d6c0
mov ecx, dword [ebp + 0x20]
call fcn.0056d4d0
test al, al
jne 0x5a5bde
sub dword [ebp - 0x18], esi
jne 0x5a5a71
cmp byte [ebp - 0xd], 0
je 0x5a5ac2
mov ecx, ebx
call fcn.0053acf0
test eax, eax
jne 0x5a5cc3
call sub.KERNEL32.dll_GetTickCount
mov edx, dword [ebp - 0x1c]
cmp eax, edx
jb 0x5a5ae4
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x5a5ae4
sub eax, edx
cmp ecx, eax
jbe 0x5a5c06
sub ecx, eax
mov dword [ebp + 0x14], ecx
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x6c]
call fcn.0053b950
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 2
call fcn.0053b950
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call fcn.0053ad90
push 0x20
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 9
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0xd
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0xa
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x27
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x22
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x3c
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x3e
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x3a
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x2f
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x40
lea ecx, [ebp - 0x44]
call fcn.0053cc50
push 0x3f
lea ecx, [ebp - 0x44]
call fcn.0053cc50
lea ecx, [ebp - 0x44]
call fcn.0053acf0
lea ecx, [ebp - 0x44]
test eax, eax
je 0x5a5daf
call fcn.0053c7f0
lea ecx, [ebp - 0x44]
call fcn.0053acf0
lea ecx, [ebp - 0x6c]
mov esi, eax
call fcn.0053acf0
cmp esi, eax
je 0x5a5cf5
call sub.KERNEL32.dll_GetTickCount
push 0x68
mov dword [ebp - 0x1c], eax
call fcn.00419f69
add esp, 4
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x5a5c2e
mov ecx, eax
call fcn.005f4270
mov esi, eax
jmp 0x5a5c30
mov eax, dword [ebp + 0x2c]
mov byte [eax], 1
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
push str.DNS_lookup_aborted_by_application_callback..
mov ecx, edi
call eax
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x30]
mov byte [ecx], 1
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
push str.DNS_timed_out.
mov ecx, edi
call eax
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov byte [ebp - 4], 3
test esi, esi
jne 0x5a5c4b
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
push str.Memory_allocation_error
mov ecx, edi
call eax
jmp 0x5a5dac
push 0x23e7
mov ecx, esi
call fcn.005f4c00
mov ecx, ebx
call fcn.0053aff0
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ebx
push ecx
mov ecx, dword [ebp + 0xc]
push edi
push edx
push eax
push ecx
lea ecx, [ebp - 0x44]
call fcn.00595640
push eax
mov ecx, esi
call fcn.005f4660
mov edx, dword [esi]
mov byte [ebp - 0xd], al
mov eax, dword [edx]
mov ecx, esi
call eax
cmp byte [ebp - 0xd], 0
je 0x5a5cd7
mov ecx, ebx
call fcn.0053acf0
test eax, eax
je 0x5a5cd7
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.0053bcf0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.0053bcf0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call sub.KERNEL32.dll_GetTickCount
mov edx, dword [ebp - 0x1c]
cmp eax, edx
jb 0x5a5cf5
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x5a5cf5
sub eax, edx
cmp ecx, eax
jbe 0x5a5d35
sub ecx, eax
mov dword [ebp + 0x14], ecx
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.0053d0b0
cmp eax, 1
jne 0x5a5dac
push str.www.
lea ecx, [ebp - 0x44]
call fcn.0053b0c0
push 0x68
call fcn.00419f69
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x5a5d4b
mov ecx, eax
call fcn.005f4270
mov esi, eax
jmp 0x5a5d4d
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
push str.DNS_timed_out.
mov ecx, edi
call eax
mov ecx, dword [ebp + 0x30]
mov byte [ecx], 1
jmp 0x5a5dac
xor esi, esi
mov byte [ebp - 4], 3
test esi, esi
je 0x5a5c38
push 0x23e8
mov ecx, esi
call fcn.005f4c00
mov ecx, ebx
call fcn.0053aff0
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ebx
push ecx
mov ecx, dword [ebp + 0xc]
push edi
push edx
push eax
push ecx
lea ecx, [ebp - 0x44]
call fcn.00595640
push eax
mov ecx, esi
call fcn.005f4660
mov edx, dword [esi]
mov bl, al
mov eax, dword [edx]
mov ecx, esi
call eax
test bl, bl
jne 0x5a5ca8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.0053bcf0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.0053bcf0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret