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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov r13, rcx
xor ebx, ebx
mov ecx, ebx
mov dword [rbp + 0x50], ebx
test r9d, r9d
je 0x18003b3e2
mov eax, ebx
mov qword [rbp + 0x68], rbx
mov edx, dword [rbp + 0x60]
mov r11d, socket
movabs r10, 0x8000000000000027
movabs r9, 0x7fffffffffffffff
add rax, rax
mov r14, qword [r8 + rax*8 + 8]
mov r12d, dword [r8 + rax*8]
cmp dword [r13 + 8], 7
jl 0x18003af1c
cmp r12d, 0xd
jb 0x18003acdc
cmp byte [r14 + 6], 0x6d
jne 0x18003acdc
movzx eax, byte [r14 + 7]
cmp al, 0x4e
je 0x18003aa6a
cmp al, 0x34
jne 0x18003acdc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1801051e0]
cmp eax, 0x3e8
jbe 0x18003acbf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1801051e0], eax
lea rsi, [r13 + 0x260]
mov r13, qword [rsi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, 8
jb 0x18003b41f
cmp qword [rsi + 0x18], 0x10
jb 0x18003aabc
mov rsi, qword [rsi]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
lea r15, [r13 + 8]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rbp - 0x48]
cmp r15, rbx
jbe 0x18003ab50
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x18003aaf5
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x18003ab1c
cmp rbx, 0x16
mov eax, socket
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003ab3b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003b40d
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x18003b407
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003ab4c
test rcx, rcx
je 0x18003ab4a
call fcn.18009d1b8
mov rdi, rax
jmp 0x18003ab4c
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], rbx
movabs rax, 0x2f2f3a6c69616d65
mov qword [rdi], rax
lea rcx, [rdi + 8]
mov r8, r13
mov rdx, rsi
call fcn.18009fc20
mov byte [rdi + r15], 0
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18003abb6
lea rax, [rcx + 2]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x48]
mov edx, 0x312f
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
lea rax, [rbp - 0x48]
jmp 0x18003abd6
mov qword [rsp + 0x20], 2
lea r9, [0x1800eb72c]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x48]
call fcn.1800037a0
xor ebx, ebx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18003ac3c
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ac37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b413
call fcn.18009d1f4
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov r13, qword [rbp + 0x48]
mov rcx, r13
call fcn.18003cab0
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae r8, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18003acbf
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003acba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b419
call fcn.18009d1f4
mov ecx, dword [rbp + 0x50]
movabs r9, 0x7fffffffffffffff
movabs r10, 0x8000000000000027
mov r11d, socket
cmp r12d, 0x1e
jb 0x18003b3c2
cmp byte [r14 + 6], 0x6d
jne 0x18003b3c2
cmp byte [r14 + 7], 0x33
jne 0x18003b3c2
lea rsi, [r13 + 0x260]
mov r15, qword [rsi + 0x10]
mov rax, r9
sub rax, r15
cmp rax, 8
jb 0x18003b437
cmp qword [rsi + 0x18], 0x10
jb 0x18003ad21
mov rsi, qword [rsi]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
lea r14, [r15 + 8]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rbp - 0x48]
cmp r14, rbx
jbe 0x18003ada9
mov rbx, r14
or rbx, 0xf
cmp rbx, r9
jbe 0x18003ad53
mov rbx, r9
mov rax, r10
jmp 0x18003ad75
cmp rbx, 0x16
cmovb rbx, r11
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003ad94
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003b42b
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x18003b425
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003ada5
test rcx, rcx
je 0x18003ada3
call fcn.18009d1b8
mov rdi, rax
jmp 0x18003ada5
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rbx
movabs rax, 0x2f2f3a6c69616d65
mov qword [rdi], rax
lea rcx, [rdi + 8]
mov r8, r15
mov rdx, rsi
call fcn.18009fc20
mov byte [rdi + r14], 0
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18003ae0f
lea rax, [rcx + 2]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x48]
mov edx, 0x322f
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
lea rax, [rbp - 0x48]
jmp 0x18003ae2f
mov qword [rsp + 0x20], 2
lea r9, [0x1800eb730]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x48]
call fcn.1800037a0
xor ebx, ebx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18003ae95
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ae90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b431
call fcn.18009d1f4
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov rcx, r13
call fcn.18003cab0
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae r8, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18003b3bf
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b3ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b3fb
jmp 0x18003b3ba
cmp r12d, 0xa
jbe 0x18003b3c5
cmp byte [r14 + 8], 0x6d
jne 0x18003b3c5
movzx eax, byte [r14 + 9]
cmp al, 0x4e
je 0x18003b16e
cmp al, 0x34
je 0x18003b16e
cmp al, 0x33
jne 0x18003b3c5
lea rsi, [r13 + 0x260]
mov r15, qword [rsi + 0x10]
mov rax, r9
sub rax, r15
cmp rax, 8
jb 0x18003b44f
cmp qword [rsi + 0x18], 0x10
jb 0x18003af73
mov rsi, qword [rsi]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
lea r14, [r15 + 8]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rbp - 0x48]
cmp r14, rbx
jbe 0x18003affb
mov rbx, r14
or rbx, 0xf
cmp rbx, r9
jbe 0x18003afa5
mov rbx, r9
mov rax, r10
jmp 0x18003afc7
cmp rbx, 0x16
cmovb rbx, r11
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003afe6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003b443
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x18003b43d
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003aff7
test rcx, rcx
je 0x18003aff5
call fcn.18009d1b8
mov rdi, rax
jmp 0x18003aff7
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rbx
movabs rax, 0x2f2f3a6c69616d65
mov qword [rdi], rax
lea rcx, [rdi + 8]
mov r8, r15
mov rdx, rsi
call fcn.18009fc20
mov byte [rdi + r14], 0
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18003b061
lea rax, [rcx + 2]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x48]
mov edx, 0x322f
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
lea rax, [rbp - 0x48]
jmp 0x18003b081
mov qword [rsp + 0x20], 2
lea r9, [0x1800eb730]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x48]
call fcn.1800037a0
xor ebx, ebx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18003b0e7
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b0e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b449
call fcn.18009d1f4
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov rcx, r13
call fcn.18003cab0
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae r8, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18003b3bf
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b3ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b401
jmp 0x18003b3ba
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1801051e0]
cmp eax, 0x3e8
jbe 0x18003b3bf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1801051e0], eax
lea rsi, [r13 + 0x260]
mov r15, qword [rsi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 8
jb 0x18003b3f5
cmp qword [rsi + 0x18], 0x10
jb 0x18003b1c0
mov rsi, qword [rsi]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
lea r14, [r15 + 8]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rbp - 0x48]
cmp r14, rbx
jbe 0x18003b254
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x18003b1f9
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x18003b220
cmp rbx, 0x16
mov eax, socket
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003b23f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003b45b
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x18003b455
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003b250
test rcx, rcx
je 0x18003b24e
call fcn.18009d1b8
mov rdi, rax
jmp 0x18003b250
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rbx
movabs rax, 0x2f2f3a6c69616d65
mov qword [rdi], rax
lea rcx, [rdi + 8]
mov r8, r15
mov rdx, rsi
call fcn.18009fc20
mov byte [rdi + r14], 0
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18003b2ba
lea rax, [rcx + 2]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x48]
mov edx, 0x312f
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
lea rax, [rbp - 0x48]
jmp 0x18003b2da
mov qword [rsp + 0x20], 2
lea r9, [0x1800eb72c]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x48]
call fcn.1800037a0
xor ebx, ebx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18003b340
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b33b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b461
call fcn.18009d1f4
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov rcx, r13
call fcn.18003cab0
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae r8, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18003b3bf
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b3ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b467
call fcn.18009d1f4
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbp + 0x60]
inc ecx
mov dword [rbp + 0x50], ecx
mov rax, qword [rbp + 0x68]
inc rax
mov qword [rbp + 0x68], rax
cmp ecx, edx
jae 0x18003b3e2
mov r8, qword [rbp + 0x58]
jmp 0x18003aa13
xor al, al
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180001e88
int3
call fcn.1800a45b8
int3
call fcn.1800a45b8
int3
call fcn.1800a45b8
int3
call fcn.180001df0
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3
call fcn.180001e88
int3
call fcn.1800a45b8
int3
call fcn.180001df0
nop
call fcn.1800a45b8
nop
call fcn.180001e88
int3
call fcn.1800a45b8
int3
call fcn.180001df0
nop
call fcn.1800a45b8
nop
call fcn.180001e88
int3
call fcn.1800a45b8
int3
call fcn.180001df0
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3