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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xd8
movaps xmmword [rax - 0x58], xmm6
mov r14, rdx
mov edx, dword [rbp + 0x7f]
mov r11, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
lea r9d, [rdx + 0xf]
mov dword [rsp + 0x40], r9d
cmp edx, r9d
jae 0x18001e244
movsd xmm9, qword [0x180071df0]
lea r9d, [rdx - 0xdd]
mov r13d, dword [rbp + 0x7f]
movsd xmm8, qword [rbp - 0x39]
mov rdi, qword [rbp - 0x51]
mov r12, qword [rbp - 0x39]
mov esi, dword [rbp + 0x7f]
mov r15d, dword [rbp - 0x69]
mov eax, dword [rsp + 0x40]
mov dword [rbp - 0x7d], r9d
lea r10, [0x180000000]
cmp r9d, 0x2e
ja case.default.0x18001df4c
movzx eax, byte [r10 + r9 + 0x1e558]
mov ecx, dword [r10 + rax*4 + 0x1e518]
add rcx, r10
jmp rcx
mov r8d, dword [r8]
mov r13d, 1
cmp r8d, r13d
jbe 0x18001df80
lea rdx, [r14 + 0x38]
lea ecx, [r13 - 1]
imul rax, rcx, 0x38
mov ecx, dword [rax + r14]
cmp dword [rdx], ecx
jne 0x18001e3ec
inc r13d
add rdx, 0x38
cmp r13d, r8d
jb 0x18001df60
mov edx, dword [r11]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbp - 0x59], rax
mov r8, qword [rbp + 0x6f]
mov edx, dword [rbp + 0x7f]
mov r9d, dword [rbp - 0x7d]
mov eax, dword [rsp + 0x40]
inc edx
inc r9d
mov dword [rbp + 0x7f], edx
mov dword [rbp - 0x7d], r9d
cmp edx, eax
jae 0x18001e244
mov r14, qword [rbp + 0x67]
mov r11, qword [rbp + 0x5f]
jmp 0x18001df2b
movsd xmm0, qword [r14]
divsd xmm0, qword [r8 + 0x20]
mov qword [rbp - 0x39], r8
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movaps xmm8, xmm0
jmp 0x18001df92
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001df92
mov eax, dword [r11]
mov rbx, qword [rbp - 0x59]
add rax, rbx
cmp r12, rax
jae 0x18001e0ad
nop word [rax + rax]
mov r10d, 0x17
mov eax, r10d
sub eax, 0x14
je 0x18001e08a
sub eax, 1
je 0x18001e07b
sub eax, 1
je 0x18001e06f
cmp eax, 1
jne 0x18001e08d
mov r9d, r13d
lea esi, [rax + 1]
add r9, r9
mov qword [rdi + r9*8], r12
movzx edx, byte [r12 + 1]
cmp edx, 0x80
jae 0x18001e03f
mov dword [rdi + r9*8 + 8], edx
jmp 0x18001e08d
mov dword [rdi + r9*8 + 8], 0
and edx, 0x7f
je 0x18001e08d
xor r8d, r8d
shl r8d, 8
mov eax, esi
inc esi
movzx ecx, byte [rax + r12]
or ecx, r8d
mov dword [rdi + r9*8 + 8], ecx
mov r8d, ecx
add edx, 0xffffffff
jne 0x18001e050
jmp 0x18001e08d
mov eax, r13d
add rax, rax
add dword [rdi + rax*8 + 8], esi
jmp 0x18001e08d
mov eax, r13d
add rax, rax
mov eax, dword [rdi + rax*8 + 8]
add r12, rax
jmp 0x18001e08d
inc r13d
dec r10d
cmp r10d, 0x13
ja 0x18001e006
mov eax, dword [r11]
add rax, rbx
cmp r12, rax
jb 0x18001e000
mov r8, qword [rbp + 0x6f]
mov edx, dword [r8]
lea r9, [0x180057d70]
mov r8d, 0x10
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov rcx, qword [rbp + 0x77]
mov rdx, rbx
mov r8d, r15d
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rbp + 0x6f]
xor r13d, r13d
mov r14d, r15d
cmp dword [r8], r13d
jbe 0x18001df96
nop dword [rax + rax]
mov ebx, r13d
add rbx, rbx
mov ecx, r14d
add rcx, qword [rbp + 0x77]
mov r8d, dword [rdi + rbx*8 + 8]
mov rdx, qword [rdi + rbx*8]
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rbp + 0x6f]
inc r13d
add r14d, dword [rdi + rbx*8 + 8]
cmp r13d, dword [r8]
jb 0x18001e0f0
jmp 0x18001df96
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001df92
mov rax, qword [0x180079288]
lea rdx, [rbp - 0x71]
mov qword [rsp + 0x38], 0
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov r8d, 0xd6
mov qword [rsp + 0x28], 0
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov byte [rbp - 0x71], 1
call fcn.180013460
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r14
lea r8d, [rbx + 0x44]
call fcn.1800259e0
test al, al
je 0x18001e3f8
mov rcx, qword [r14 + 0x28]
mov dword [rbp - 0x49], ebx
call qword [r14 + 0x20]
test al, al
je 0x18001df92
mov r15d, dword [rbp - 0x61]
mov ebx, 0x69
nop
mov eax, ebx
sub eax, 0x67
je 0x18001e1fa
sub eax, 1
je 0x18001e1de
cmp eax, 1
jne 0x18001e1fe
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9, r14
xor r8d, r8d
xor edx, edx
mov ecx, 0x119
mov r15d, eax
call fcn.180050a70
jmp 0x18001e1fe
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, r15d
mul ecx
mov edi, edx
shr edi, 6
mov dword [rbp - 0x49], edi
jmp 0x18001e1fe
call qword [r14 + 0x50]
dec ebx
cmp ebx, 0x66
ja 0x18001e1b0
mov rdi, qword [rbp - 0x51]
mov dword [rbp - 0x61], r15d
mov r15d, dword [rbp - 0x69]
jmp 0x18001df92
mov rcx, qword [0x180079288]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
lea edx, [r9 + 0x39]
call fcn.18000a320
test al, al
jne 0x18001df92
mov dword [rbp - 0x79], 0
mov rax, qword [rbp - 0x79]
lea r11, [rsp + 0xd8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp qword [rbp - 0x59], 0
je 0x18001e2de
mov eax, dword [r8]
lea rdx, [rbp - 0x51]
mov qword [rsp + 0x28], r14
lea r8, [rbp - 0x41]
mov r14, qword [rbp - 0x59]
mov r9d, 0x72
mov rcx, r11
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x41], 0xf
mov dword [rbp - 0x51], eax
call fcn.180027650
mov ebx, eax
test eax, eax
jne 0x18001e413
mov rax, qword [rbp + 0x6f]
lea edx, [rbx + 0x10]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbp - 0x51], rax
mov rdi, rax
test rax, rax
jne 0x18001df92
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [rbp - 0x79], 0xd
jmp 0x18001e244
mov r14, qword [rbp - 0x59]
movzx r13d, byte [r14 + 1]
lea r12, [r14 + 2]
jmp case.0x18001df4c.15
mov eax, dword [r11]
lea rdx, [rbp - 0x41]
mov r8, qword [rbp - 0x59]
mov r9d, 0x99
xor ecx, ecx
mov qword [rbp - 0x41], rax
call fcn.180015650
jmp 0x18001df92
mov r15d, 0xd
mov eax, r15d
sub eax, 0xd
je 0x18001e336
cmp eax, 1
je 0x18001e244
jmp 0x18001e3af
movsd xmm7, qword [r14]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mov rax, qword [rbp - 0x39]
movaps xmm6, xmm0
movaps xmm2, xmm7
movsd xmm1, qword [rax]
mulsd xmm2, qword [rax + 8]
subsd xmm1, xmm9
movsxd r14, dword [rax + 0x10]
mulsd xmm6, xmm1
subsd xmm6, xmm2
test r14, r14
jle 0x18001e3a6
divsd xmm7, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
nop word [rax + rax]
mov eax, dword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_log
subsd xmm0, xmm8
add rbx, 4
addsd xmm6, xmm0
sub r14, 1
jne 0x18001e380
mov r14, qword [rbp + 0x67]
movsd qword [rbp - 0x79], xmm6
inc r15d
cmp r15d, 0xf
jb 0x18001e323
mov r8, qword [rbp + 0x6f]
mov edx, dword [rbp + 0x7f]
mov r9d, dword [rbp - 0x7d]
cmp r13d, 0x80
jb 0x18001e3d9
mov eax, r13d
and eax, 0x7f
add r12, rax
mov r15d, r12d
sub r15d, dword [rbp - 0x59]
mov dword [rbp - 0x69], r15d
xor r13d, r13d
jmp case.0x18001df4c.15
mov dword [rbp - 0x79], 0x10
jmp 0x18001e244
mov rcx, qword [0x180079288]
xor r8d, r8d
lea edx, [r8 + 0x46]
call fcn.1800212d0
mov dword [rbp - 0x79], ebx
jmp 0x18001e244
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [rbp - 0x79], ebx
jmp 0x18001e244
mov edi, dword [rbp + 0x7f]
mov ebx, 0xa4
nop dword [rax]
cmp ebx, 0xa4
je 0x18001e459
cmp ebx, 0x125
je 0x18001e451
cmp ebx, 0x1a6
je 0x18001e244
jmp 0x18001e4e8
mov dword [rbp - 0x79], edi
jmp 0x18001e4e8
mov eax, dword [r14 + 0x58]
lea rdx, [rbp - 0x69]
movsd xmm0, qword [r8]
mov r9, r14
mov dword [rbp - 0x69], eax
lea r8, [rbp - 0x61]
mov eax, dword [r14 + 8]
mov ecx, 0x4f
mov dword [rbp - 0x41], eax
mov eax, dword [r14 + 0xc]
mov dword [rbp - 0x51], eax
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x61], 0
mov dword [rbp + 0x7f], 0
call fcn.18005e940
mov edi, eax
test eax, eax
jne 0x18001e4e4
test byte [r14 + 0x78], 8
je 0x18001e4e4
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8d, [rdi + 0x71]
mov rcx, r14
mov rdx, rax
call fcn.18001e590
mov r8, qword [rbp + 0x6f]
add ebx, 0x81
cmp ebx, 0x227
jb 0x18001e430
mov rcx, qword [0x180079288]
xor r8d, r8d
lea edx, [r8 + 0x46]
call fcn.1800212d0
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x79], eax
jmp 0x18001e244