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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, r9
mov r12, rdx
mov rsi, rcx
test rcx, rcx
je 0x1401c624a
mov rbx, qword [rsp + 0x80]
test r8d, r8d
mov r14d, 0x7d0
mov qword [rsp + 0x20], rbx
cmovne r14d, r8d
mov r8d, r14d
call fcn.1401c6a40
test al, al
jne 0x1401c6263
mov rax, qword [rbx]
lea rdx, str.1st_UDP_send_for_nameserver_1_failed.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rdx, rbx
mov rcx, rdi
call fcn.1400faa80
test al, al
jne 0x1401c624a
call sub.KERNEL32.dll_GetTickCount
mov r9d, 0x5dc
mov qword [rsp + 0x28], rbx
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rdi
mov ecx, 1
mov r15d, eax
call fcn.1401c6b90
test al, al
jne 0x1401c64c5
cmp byte [rdi + 0x29], al
jne 0x1401c624a
cmp byte [rdi + 0x2a], al
jne 0x1401c624a
call sub.KERNEL32.dll_GetTickCount
cmp eax, r15d
mov ecx, r14d
cmovb r15d, eax
xor ebp, ebp
sub eax, r15d
sub ecx, eax
cmp eax, r14d
cmovb ebp, ecx
test ebp, ebp
jne 0x1401c62e5
mov rax, qword [rbx]
lea rdx, str.DNS_timeout.
jmp 0x1401c6244
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8d, r14d
mov rdx, r12
mov rcx, rsi
call fcn.1401c6a40
test al, al
jne 0x1401c630e
mov rax, qword [rbx]
lea rdx, str.2nd_UDP_send_for_nameserver_1_failed.
jmp 0x1401c6244
mov rdx, rbx
mov rcx, rdi
call fcn.1400faa80
test al, al
jne 0x1401c624a
cmp ebp, 0x7d0
jbe 0x1401c63d1
mov qword [rsp + 0x28], rbx
lea r8, [rsp + 0x60]
mov r9d, 0x7d0
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov dword [rsp + 0x60], 0xffffffff
mov ecx, 1
call fcn.1401c6b90
test al, al
jne 0x1401c64c5
cmp byte [rdi + 0x29], al
jne 0x1401c624a
cmp byte [rdi + 0x2a], al
jne 0x1401c624a
call sub.KERNEL32.dll_GetTickCount
cmp eax, r15d
mov edx, ebp
mov ecx, ebp
cmovb r15d, eax
xor ebp, ebp
sub eax, r15d
sub edx, eax
cmp eax, ecx
cmovb ebp, edx
test ebp, ebp
je 0x1401c62d6
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8d, r14d
mov rdx, r12
mov rcx, rsi
call fcn.1401c6a40
test al, al
jne 0x1401c63be
mov rax, qword [rbx]
lea rdx, str.3rd_UDP_send_for_nameserver_1_failed.
jmp 0x1401c6244
mov rdx, rbx
mov rcx, rdi
call fcn.1400faa80
test al, al
jne 0x1401c624a
cmp ebp, 0x3e8
jbe 0x1401c6481
mov qword [rsp + 0x28], rbx
lea r8, [rsp + 0x60]
mov r9d, 0x3e8
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov dword [rsp + 0x60], 0xffffffff
mov ecx, 1
call fcn.1401c6b90
test al, al
jne 0x1401c64c5
cmp byte [rdi + 0x29], al
jne 0x1401c624a
cmp byte [rdi + 0x2a], al
jne 0x1401c624a
call sub.KERNEL32.dll_GetTickCount
cmp eax, r15d
mov edx, ebp
mov ecx, ebp
cmovb r15d, eax
xor ebp, ebp
sub eax, r15d
sub edx, eax
cmp eax, ecx
cmovb ebp, edx
test ebp, ebp
je 0x1401c62d6
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8d, r14d
mov rdx, r12
mov rcx, rsi
call fcn.1401c6a40
test al, al
jne 0x1401c646e
mov rax, qword [rbx]
lea rdx, str.4th_UDP_send_for_nameserver_1_failed.
jmp 0x1401c6244
mov rdx, rbx
mov rcx, rdi
call fcn.1400faa80
test al, al
jne 0x1401c624a
mov qword [rsp + 0x28], rbx
lea r8, [rsp + 0x60]
mov r9d, ebp
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov ecx, 1
call fcn.1401c6b90
test al, al
jne 0x1401c64c5
cmp byte [rdi + 0x29], al
jne 0x1401c624a
cmp byte [rdi + 0x2a], al
jne 0x1401c624a
mov rax, qword [rbx]
lea rdx, str.Waited__but_no_data_ready_on_UDP_socket.
jmp 0x1401c6244
mov al, 1
jmp 0x1401c624c