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

Disassembly:
push rbp
push rsi
push r12
push r13
lea rbp, [rsp - 0xbfc8]
mov eax, 0xc0c8
call fcn.18004b9a0
sub rsp, rax
mov rax, qword [0x180074808]
xor rax, rsp
mov qword [rbp + 0xbf90], rax
mov r13, r8
xor r8d, r8d
mov eax, ecx
cmp byte [0x1800a4929], r8b
mov dword [rsp + 0x58], ecx
mov rcx, qword [rbp + 0xc010]
mov rsi, r9
mov r12, rdx
mov dword [rsp + 0x3c], r8d
jne 0x18003e611
cmp byte [0x1800a3c5a], r8b
jne 0x18003e611
test rdx, rdx
je 0x18003e25f
cmp dword [rdx], r8d
jne 0x18003e27c
test r13, r13
je 0x18003e26a
cmp dword [r13], r8d
jne 0x18003e27c
test r9, r9
je 0x18003e611
cmp dword [r9], r8d
je 0x18003e611
mov qword [rsp + 0xc0c0], rbx
mov qword [rsp + 0xc0b8], rdi
mov qword [rsp + 0xc0b0], r14
mov qword [rsp + 0xc0a8], r15
test rcx, rcx
je 0x18003e2ed
mov eax, 0x10624dd3
imul dword [rcx + 4]
mov r14d, edx
sar r14d, 6
mov eax, r14d
shr eax, 0x1f
add r14d, eax
mov eax, dword [rcx]
imul eax, eax, 0x3e8
add r14d, eax
jne 0x18003e2cd
mov qword [rsp + 0x30], r8
jmp 0x18003e2fe
cmp r14d, 0xffffffff
je 0x18003e2f1
mov dword [rsp + 0x30], r8d
cmp r14d, 0xa
jg 0x18003e2f6
mov eax, r14d
imul eax, eax, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x18003e2fe
or r14d, 0xffffffff
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x34], 0x2710
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x54], eax
nop dword [rax + rax]
xor eax, eax
mov dword [rsp + 0x60], eax
mov dword [rbp + 0x3f70], eax
mov dword [rbp + 0x7f80], eax
test r12, r12
je 0x18003e3b1
mov dword [rsp + 0x60], eax
mov edi, eax
cmp dword [r12], eax
jbe 0x18003e3b1
lea rbx, [r12 + 8]
nop dword [rax]
cmp edi, 0x800
jae 0x18003e3af
mov rcx, qword [rbx]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x44]
mov edx, 0xffff
mov r8d, 0x1008
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x44], 0xffffffff
mov dword [rsp + 0x50], 4
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x18003e387
cmp dword [rsp + 0x44], 2
je 0x18003e393
mov rcx, qword [rbx]
call fcn.18002fad0
test eax, eax
jne 0x18003e3a3
mov ecx, dword [rsp + 0x60]
mov rax, qword [rbx]
mov qword [rsp + rcx*8 + 0x68], rax
inc dword [rsp + 0x60]
inc edi
add rbx, 8
cmp edi, dword [r12]
jb 0x18003e340
xor eax, eax
test r13, r13
je 0x18003e448
cmp dword [r13], 0
mov dword [rbp + 0x3f70], eax
mov edi, eax
jbe 0x18003e448
lea rbx, [r13 + 8]
nop dword [rax]
cmp edi, 0x800
jae 0x18003e446
mov rcx, qword [rbx]
lea rax, [rsp + 0x4c]
lea r9, [rsp + 0x40]
mov edx, 0xffff
mov r8d, 0x1008
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x4c], 4
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x18003e417
cmp dword [rsp + 0x40], 2
je 0x18003e423
mov rcx, qword [rbx]
call fcn.18002fad0
test eax, eax
jne 0x18003e43a
mov ecx, dword [rbp + 0x3f70]
mov rax, qword [rbx]
mov qword [rbp + rcx*8 + 0x3f78], rax
inc dword [rbp + 0x3f70]
inc edi
add rbx, 8
cmp edi, dword [r13]
jb 0x18003e3d0
xor eax, eax
test rsi, rsi
je 0x18003e4d8
cmp dword [rsi], 0
mov dword [rbp + 0x7f80], eax
mov edi, eax
jbe 0x18003e4d8
lea rbx, [rsi + 8]
cmp edi, 0x800
jae 0x18003e4d6
mov rcx, qword [rbx]
lea rax, [rsp + 0x48]
lea r9, [rsp + 0x38]
mov edx, 0xffff
mov r8d, 0x1008
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x48], 4
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x18003e4a9
cmp dword [rsp + 0x38], 2
je 0x18003e4b5
mov rcx, qword [rbx]
call fcn.18002fad0
test eax, eax
jne 0x18003e4cc
mov ecx, dword [rbp + 0x7f80]
mov rax, qword [rbx]
mov qword [rbp + rcx*8 + 0x7f88], rax
inc dword [rbp + 0x7f80]
inc edi
add rbx, 8
cmp edi, dword [rsi]
jb 0x18003e462
xor eax, eax
cmp dword [rsp + 0x60], 0
jne 0x18003e515
cmp dword [rbp + 0x3f70], 0
jne 0x18003e515
cmp dword [rbp + 0x7f80], 0
jne 0x18003e515
test r14d, r14d
je 0x18003e594
mov eax, 0x10624dd3
imul dword [rsp + 0x34]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18003e56b
cmp dword [rbp + 0x7f80], 0
mov ecx, dword [rsp + 0x58]
lea r9, [rbp + 0x7f80]
cmove r9, rax
cmp dword [rbp + 0x3f70], 0
lea r8, [rbp + 0x3f70]
cmove r8, rax
cmp dword [rsp + 0x60], 0
lea rdx, [rsp + 0x60]
cmove rdx, rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call qword [0x1800a42e8]
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x3c], eax
test ebx, ebx
jne 0x18003e59a
test r14d, r14d
je 0x18003e594
cmp r14d, 0xffffffff
je 0x18003e310
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 1
sub ecx, dword [rsp + 0x54]
add eax, ecx
cmp eax, r14d
jle 0x18003e310
xor r8d, r8d
mov ebx, r8d
mov r15, qword [rsp + 0xc0a8]
mov r14, qword [rsp + 0xc0b0]
mov rdi, qword [rsp + 0xc0b8]
test r12, r12
je 0x18003e5c4
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.180033330
cmp r12, r13
je 0x18003e5dd
test r13, r13
je 0x18003e5dd
lea rdx, [rbp + 0x3f70]
mov rcx, r13
call fcn.180033330
cmp rsi, r13
je 0x18003e5fb
cmp rsi, r12
je 0x18003e5fb
test rsi, rsi
je 0x18003e5fb
lea rdx, [rbp + 0x7f80]
mov rcx, rsi
call fcn.180033330
mov ecx, dword [rsp + 0x3c]
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov eax, ebx
mov rbx, qword [rsp + 0xc0c0]
jmp 0x18003e621
mov qword [rsp + 0x20], rcx
mov r8, r13
mov ecx, eax
call qword [0x1800a42e8]
mov rcx, qword [rbp + 0xbf90]
xor rcx, rsp
call fcn.180041e80
add rsp, 0xc0c8
pop r13
pop r12
pop rsi
pop rbp
ret