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

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x30
mov r13d, dword [rsp + 0x88]
mov r14d, r9d
mov rdi, rdx
mov rbx, rcx
test r13d, r13d
jne 0x14001c469
lea r8, [0x1400f1524]
lea rdx, [0x1400f5fc0]
lea rcx, [0x14012c5c0]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rbx
jmp fcn.14004e590
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsi]
lea r12, [0x1400f1524]
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x14001c4b7
dec ecx
je 0x14001c49d
dec ecx
je 0x14001c49d
sub ecx, 2
je 0x14001c4a2
dec ecx
je 0x14001c4b7
mov rbp, r12
jmp 0x14001c4bb
mov rcx, qword [rbp]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001820
mov rbp, rax
jmp 0x14001c4bb
mov rbp, qword [rbp]
test r14b, 2
je 0x14001c621
lea rdx, [0x1400f5fe0]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c4fe
cmp dword [rbx + 0x10], 1
lea rcx, [rbx + 0x10]
je 0x14001c5e5
mov rax, qword [rbx + 0x28]
xor esi, esi
xor edx, edx
mov dword [rbx + 0x30], esi
mov word [rax], si
call fcn.140054ad0
jmp 0x14001caac
lea rdx, [0x1400f5fa0]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c5a3
cmp r13d, 1
jle 0x14001c53f
mov rcx, qword [rsi + 8]
cmp dword [rcx + 0x10], 3
je 0x14001c53f
lea edx, [rax + 1]
xor r8d, r8d
call fcn.140085970
mulsd xmm0, qword [0x140112038]
cvttsd2si rsi, xmm0
jmp 0x14001c542
or esi, 0xffffffff
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [rbx + 0x10], 1
mov ebp, eax
jne 0x14001c571
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebp
cmp eax, esi
jae 0x14001c571
mov edx, 1
mov ecx, 0x8000012f
call fcn.140001b60
cmp dword [rbx + 0x10], 1
je 0x14001c550
xor esi, esi
mov dword [rdi + 0x10], esi
mov eax, dword [rbx + 0x10]
cmp eax, 6
ja 0x14001c596
lea rcx, [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.140055800
mov r12, rax
mov qword [rdi], r12
mov eax, 1
jmp 0x14001caac
lea rdx, [0x1400f5ff0]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c5ef
cmp dword [rbx + 0x10], 1
lea r8, [rbx + 0x10]
jne 0x14001c5e5
movzx eax, byte [0x14012aab1]
mov rcx, qword [0x14012aab8]
xor esi, esi
xor r9d, r9d
mov edx, 0x41b
mov dword [r8], esi
mov byte [r8 + 0x6c], al
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x14001caac
lea rdx, [0x1400f6000]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c617
lea r8d, [r13 - 1]
lea rdx, [rsi + 8]
mov rcx, rbx
call fcn.14001cad0
jmp 0x14001caac
mov eax, 4
jmp 0x14001caac
mov qword [rsp + 0x70], r15
mov r15d, r14d
mov esi, 0
and r15d, 1
mov eax, esi
setne al
inc eax
cmp r13d, eax
je 0x14001c659
lea rdx, [0x1400f5fc0]
lea rcx, [0x14012c5c0]
mov r8, r12
call fcn.14004e590
jmp 0x14001caa7
test r14b, 3
jne 0x14001c7fa
lea rdx, [0x1400f4c88]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c68e
mov dword [rdi + 0x10], esi
movsxd r8, dword [rbx + 0x30]
mov rdx, qword [rbx + 0x28]
mov rcx, rdi
call fcn.140085eb0
jmp 0x14001caa7
lea rdx, [0x1400f6010]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c6bd
mov dword [rdi + 0x10], 1
cmp dword [rbx + 0x10], 1
mov eax, 1
sete sil
mov qword [rdi], rsi
jmp 0x14001caa7
lea rdx, [0x1400f6028]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c6ff
lea rcx, [rbx + 0x10]
mov dword [rdi + 0x10], esi
mov eax, dword [rcx]
cmp eax, 6
ja 0x14001c6f2
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.140055800
mov r12, rax
mov qword [rdi], r12
mov eax, 1
jmp 0x14001caa7
lea rdx, [0x1400f6040]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c748
lea rcx, [rbx + 0x10]
mov dword [rdi + 0x10], esi
cmp dword [rcx], 4
jne 0x14001c6f2
mov rdx, qword [rdi + 8]
mov qword [rdi], rdx
mov eax, dword [rcx]
cmp eax, 6
ja 0x14001c6f5
xor r9d, r9d
mov r8d, 0x100
mov dword [rsp + 0x20], eax
call fcn.140055800
mov eax, 1
jmp 0x14001caa7
lea rdx, [0x1400f6050]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c7b4
mov rcx, qword [rdi + 8]
mov dword [rdi + 0x10], esi
mov edx, 1
lea r8, [0x1400f6060]
lea r9, [0x1400f6062]
lea r10d, [rax + 8]
mov qword [rdi], rcx
nop dword [rax]
test byte [rbx + 0x7c], dl
je 0x14001c799
movzx eax, word [r8]
add rcx, 4
mov word [rcx - 4], ax
movzx eax, word [r9]
mov word [rcx - 2], ax
rol edx, 1
add r8, 4
add r9, 4
dec r10
jne 0x14001c780
mov word [rcx], si
lea eax, [r10 + 1]
jmp 0x14001caa7
lea rdx, [0x1400f6088]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c7fa
mov dword [rdi + 0x10], esi
cmp dword [rbx + 0x10], 3
jne 0x14001c6f2
mov eax, dword [rbx + 0x80]
cmp eax, dword [rbx + 0x50]
jae 0x14001c6f2
mov ecx, eax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + rcx*8]
mov eax, 1
mov qword [rdi], rcx
jmp 0x14001caa7
lea rdx, [0x1400f5664]
mov r8d, 2
mov rcx, rbp
call fcn.1400d7250
test eax, eax
jne 0x14001c916
add rbp, 4
lea rdx, [0x1400f2f80]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c837
add rbx, 0x388
jmp 0x14001c88d
lea rdx, [0x1400f6098]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c853
add rbx, 0x390
jmp 0x14001c88d
lea rdx, [0x1400f60a8]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c86f
add rbx, 0x3a0
jmp 0x14001c88d
lea rdx, [0x1400f60b8]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001caa2
add rbx, 0x398
test r15d, r15d
je 0x14001c8c5
mov rbp, qword [rsp + 0x80]
mov rcx, qword [rbp + 8]
call fcn.140085da0
mov rsi, rax
test rax, rax
je 0x14001c8ee
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WSOCK32.dll_htonl]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001c8c2
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov qword [rbx], rsi
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001ca9b
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_htonl]
mov r11, qword [rbx]
mov dword [rdi + 0x10], 6
mov qword [rdi], r11
mov eax, 1
jmp 0x14001caa7
mov rcx, qword [rbp + 8]
call fcn.1400857d0
test eax, eax
jne 0x14001c8b4
lea rdx, [0x1400f60c8]
lea rcx, [0x14012c5c0]
mov r8, r12
call fcn.14004e590
jmp 0x14001caa7
lea rdx, [0x1400f60e8]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c95c
test r15d, r15d
je 0x14001c944
mov rbp, qword [rsp + 0x80]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1400858d0
mov byte [rbx + 0x6c], al
movzx eax, byte [rbx + 0x6c]
mov dword [rdi + 0x10], 1
mov qword [rdi], rax
mov eax, 1
jmp 0x14001caa7
lea rdx, [0x1400f5fb0]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c9d3
test r15d, r15d
je 0x14001c9ad
mov rbp, qword [rsp + 0x80]
lea edx, [rax + 1]
xor r8d, r8d
mov rcx, qword [rbp + 8]
call fcn.140085970
cmp dword [rbx + 0x10], 1
lea rcx, [rbx + 0x10]
mulsd xmm0, qword [0x140112038]
cvttsd2si eax, xmm0
mov dword [rbx + 0x64], eax
jne 0x14001c9ad
test eax, eax
jle 0x14001c9ad
call fcn.140054d80
movd xmm0, dword [rbx + 0x64]
mov eax, 1
mov dword [rdi + 0x10], 2
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x140112038]
movsd qword [rdi], xmm0
jmp 0x14001caa7
lea rdx, [0x1400f6108]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001c9ec
add rbx, 0x6d
jmp 0x14001ca67
lea rdx, [0x1400f6128]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001ca05
add rbx, 0x6e
jmp 0x14001ca67
lea rdx, [0x1400f6148]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001ca1e
add rbx, 0x73
jmp 0x14001ca67
lea rdx, [0x1400f6168]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001ca37
add rbx, 0x70
jmp 0x14001ca67
lea rdx, [0x1400f6180]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001ca50
add rbx, 0x71
jmp 0x14001ca67
lea rdx, [0x1400f61a0]
mov rcx, rbp
call fcn.1400d6a7c
test eax, eax
jne 0x14001caa2
add rbx, 0x72
test rbx, rbx
je 0x14001caa2
test r15d, r15d
je 0x14001ca8e
mov rbp, qword [rsp + 0x80]
mov edx, 0x44
mov rcx, qword [rbp + 8]
call fcn.140085480
test eax, eax
setne al
mov byte [rbx], al
movzx eax, byte [rbx]
mov dword [rdi + 0x10], 1
mov qword [rdi], rax
mov eax, 1
jmp 0x14001caa7
mov eax, 4
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret