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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, qword [rsp + 0x80]
xor ebx, ebx
movsxd r15, r9d
mov al, byte [r12 + 4]
mov r13, r8
mov r14, rdx
and eax, 1
cmp dword [rsp + 0x88], 0x25
mov dword [rsp + 0x80], eax
jae 0x18002b16c
lea eax, [rbx + 0xd]
jmp 0x18002b372
cmp qword [r12 + 5], rbx
jne 0x18002b17a
cmp qword [r12 + 0xd], rbx
je 0x18002b1aa
add rdx, 0x28
mov rcx, qword [rdx]
cmp rcx, rdx
je 0x18002b1aa
mov r8, qword [r12 + 5]
cmp qword [rcx + 0x90], r8
jne 0x18002b1a2
mov rax, qword [r12 + 0xd]
cmp qword [rcx + 0x98], rax
je 0x18002b1aa
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x18002b18b
lea rbp, [r14 + 0x28]
mov rsi, qword [rbp]
jmp 0x18002b1cb
lea rdi, [rsi - 0x10]
mov rdx, r13
lea rcx, [rdi + 0x20]
call fcn.1800257e8
cmp eax, ebx
jne 0x18002b1d3
mov rsi, qword [rsi]
cmp rsi, rbp
jne 0x18002b1b4
mov rdi, rbx
cmp rdi, rbx
mov rdx, r13
jne 0x18002b277
mov r8d, r15d
mov rcx, r14
call fcn.18002acf0
cmp rax, rbx
mov rdi, rax
jne 0x18002b263
call fcn.18002aaac
cmp rax, rbx
mov rdi, rax
jne 0x18002b209
mov eax, 8
jmp 0x18002b372
lea rcx, [rax + 0x20]
mov r8, r15
mov rdx, r13
call sub.ntdll.dll_memcpy
lea r11, [r14 + 0x18]
lea rbp, [r14 + 8]
mov rax, qword [r11 + 8]
mov qword [rdi], r11
mov qword [rdi + 8], rax
mov qword [rax], rdi
mov qword [r11 + 8], rdi
mov rsi, qword [rbp]
jmp 0x18002b24b
lea rcx, [rsi + 0x10]
mov rdx, r13
call fcn.1800257e8
cmp eax, ebx
jne 0x18002b253
mov rsi, qword [rsi]
cmp rsi, rbp
jne 0x18002b238
mov rsi, rbx
cmp rsi, rbx
je 0x18002b263
mov rdx, rsi
mov rcx, rdi
call fcn.18002ac2c
cmp dword [rdi + 0x13c], ebx
jne 0x18002b299
mov dword [rdi + 0x13c], 1
jmp 0x18002b299
lea rcx, [rdi + 0x20]
mov r8, r15
call sub.ntdll.dll_memcpy
lea r11, [r14 + 0x18]
mov rax, qword [r11 + 8]
mov qword [rdi], r11
mov qword [rdi + 8], rax
mov qword [rax], rdi
mov qword [r11 + 8], rdi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov word [rdi + 0x144], bx
mov dword [rdi + 0x134], ebx
mov dword [rdi + 0x140], eax
mov rax, qword [r12 + 0x15]
cmp rax, rbx
jne 0x18002b2c3
cmp qword [r12 + 0x1d], rbx
je 0x18002b2d6
mov qword [rdi + 0x150], rax
mov rax, qword [r12 + 0x1d]
mov qword [rdi + 0x158], rax
cmp dword [rsp + 0x80], ebx
mov rsi, qword [rsp + 0x60]
je 0x18002b301
lea r9, [rdi + 0x150]
mov r8d, r15d
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
call fcn.1800301cc
cmp dword [rdi + 0x13c], 3
jne 0x18002b370
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov dword [rdi + 0x13c], 2
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rdi, qword [rdi + 0x148]
mov r9d, r15d
mov r8, r13
mov rcx, r14
mov rdx, rdi
call fcn.1800298a0
cmp word [rdi + 0x10], bx
jne 0x18002b34e
mov ecx, 0x2748
call qword [sym.imp.WS2_32.dll_WSASetLastError]
jmp 0x18002b370
cmp byte [rdi + 0x94], bl
jne 0x18002b370
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov byte [rdi + 0x94], 2
call fcn.18002a508
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret