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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1800312f8]
xor rax, rsp
mov qword [rbp], rax
mov dword [rsp + 0x60], r8d
mov r9, rdx
mov qword [rbp - 0x78], rdx
mov r13, rcx
movdqa xmm0, xmmword [0x18002cf00]
movdqa xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
xor r10d, r10d
mov qword [rbp - 0x50], r10
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r10b
lea edx, [r8 - 0xb]
mov dword [rsp + 0x58], edx
cmp r8d, edx
jbe case.0x1800099b4.0
lea edx, [r8 - 0x7c]
mov dword [rsp + 0x5c], edx
mov r14, qword [rbp - 0x68]
mov r15d, dword [rsp + 0x74]
movzx r12d, byte [rsp + 0x50]
mov rsi, qword [rbp - 0x70]
mov edi, dword [rsp + 0x70]
mov eax, dword [rsp + 0x58]
lea r11, [0x180000000]
cmp edx, 0x19
ja case.default.0x1800099b4
mov ecx, dword [r11 + rdx*4 + 0x9e44]
add rcx, r11
jmp rcx
mov byte [0x1800313e8], 0
lea r9, [rbp - 0x40]
mov r8, r13
mov edx, 0x65
lea rcx, [rbp - 0x60]
call fcn.18001f860
jmp 0x180009ce5
mov ebx, 0xf6
nop dword [rax]
mov eax, ebx
sub eax, 0x7c
je 0x180009a4a
sub eax, 0x1f
je 0x180009a37
cmp eax, 0x5b
jne 0x180009a53
xor r8d, r8d
lea edx, [rax - 0x15]
xor ecx, ecx
call fcn.18001cc80
test al, al
je 0x180009d33
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
lea rdx, [0x180031400]
call qword [0x1800313f0]
mov rsi, rax
mov qword [rbp - 0x70], rax
mov r14, rsi
mov qword [rbp - 0x68], rsi
test rsi, rsi
jmp 0x180009ce7
mov r8d, 0x113
lea rdx, [rbp - 0x18]
xor ecx, ecx
call fcn.18000f550
jmp 0x180009a53
cmp byte [rbp + 0xb8], 0
je 0x180009a28
add ebx, 0x1f
cmp ebx, 0x153
jae 0x180009a28
jmp 0x1800099e0
mov dword [rsp + 0x68], r15d
jmp case.0x1800099b4.4
mov rbx, qword [r13]
mov rdx, qword [r13 + 8]
cmp rbx, rdx
je 0x180009abd
nop word [rax + rax]
mov ecx, 0xde
mov eax, ecx
sub eax, 0x90
je 0x180009ae3
sub eax, 0x14
je 0x180009ad1
sub eax, 0x12
je 0x180009ac7
cmp eax, 0x28
jne 0x180009af3
xor eax, eax
lock cmpxchg dword [rbx + 0xc], r10d
mov edi, eax
mov dword [rsp + 0x70], eax
cmp edi, dword [r9]
je 0x180009d3d
add rbx, 0x10
cmp rbx, rdx
jne 0x180009a80
mov qword [rsp + 0x68], r10
jmp 0x180009cf1
mov qword [rbx + 0x30], r10
mov qword [rbx + 0x38], r10
jmp 0x180009af3
mov qword [rbx + 0x10], r10
mov qword [rbx + 0x18], r10
mov qword [rbx + 0x20], r10
mov dword [rbx + 0x28], r10d
jmp 0x180009af3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
add ecx, 0x12
cmp ecx, 0x126
jae 0x180009aab
jmp 0x180009a85
mov rbx, qword [0x180031460]
cmp rbx, qword [0x180031468]
je 0x180009b36
mov rcx, r14
call qword [rbx]
test al, al
je 0x180009d15
add rbx, 8
cmp rbx, qword [0x180031468]
jne 0x180009b10
mov r8d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x5c]
xor r10d, r10d
mov byte [0x1800313e8], 1
mov byte [rsp + 0x68], 1
jmp case.0x1800099b4.4
mov r8d, 0x101
mov rdx, qword [0x1800313d8]
xor ecx, ecx
call fcn.18001eeb0
test al, al
je 0x180009db0
mov byte [rsp + 0x50], 1
mov r8, qword [0x1800313d8]
lea rdx, [rsp + 0x50]
mov ecx, 0x8a
call fcn.18001d2a0
xor r9d, r9d
mov r8, r13
xor edx, edx
lea ecx, [rdx + 0x37]
call fcn.18001dca0
test al, al
je 0x180009d76
xor r10d, r10d
mov r15d, r10d
jmp 0x180009cec
mov rcx, qword [r13 + 0x28]
call qword [r13 + 0x20]
test al, al
je 0x180009c9c
mov ebx, 0x80
mov esi, dword [rsp + 0x74]
mov r14d, dword [rbp - 0x7c]
mov edi, dword [rbp - 0x80]
mov eax, ebx
sub eax, 0x80
je 0x180009c6b
sub eax, 0x63
je 0x180009c4c
sub eax, 0x63
je 0x180009c35
sub eax, 0x63
je 0x180009bef
cmp eax, 0x63
jne 0x180009c76
call qword [r13 + 0x50]
jmp 0x180009c76
mov qword [rsp + 0x20], 0
mov r9d, edi
mov r8d, r14d
mov edx, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x78]
call qword [sym.imp.GDI32.dll_CreateBitmap]
mov rcx, rax
mov eax, 0x10624dd3
mul r15d
mov r15d, edx
shr r15d, 6
test rcx, rcx
jne 0x180009c28
xor r12b, r12b
jmp 0x180009c76
test r12b, r12b
je 0x180009c76
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x180009c76
mov edi, 0x10
lea r14d, [rdi - 0xf]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
sub r15d, esi
jmp 0x180009c76
mov dword [rsp + 0x78], 0x32
mov dword [rsp + 0x7c], 0x32
mov edx, 0xf0
mov rcx, r13
call fcn.180019580
jmp 0x180009c76
mov r12b, 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
add ebx, 0x63
cmp ebx, 0x26f
jb 0x180009bc1
mov dword [rbp - 0x80], edi
mov dword [rbp - 0x7c], r14d
mov dword [rsp + 0x74], esi
mov edi, dword [rsp + 0x70]
mov rsi, qword [rbp - 0x70]
mov r14, qword [rbp - 0x68]
xor eax, eax
mov qword [rsp + 0x40], rax
mov rcx, qword [0x1800313d8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0xaa
call fcn.18001d750
jmp 0x180009ce9
mov r9d, 0x11d
lea r8, [rbp - 0x40]
xor edx, edx
xor ecx, ecx
call fcn.18001df80
test al, al
je 0x180009d33
xor r10d, r10d
mov r8d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x58]
dec r8d
mov dword [rsp + 0x60], r8d
dec edx
mov dword [rsp + 0x5c], edx
cmp r8d, eax
jbe case.0x1800099b4.0
mov r9, qword [rbp - 0x78]
jmp 0x180009999
mov qword [rbp - 0x78], r14
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp - 0x78]
xor edx, edx
lea ecx, [rdx + 7]
call fcn.180020970
mov byte [rsp + 0x68], 0
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180009dc2
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009dbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180009dbd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov rax, qword [0x1800313d8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0xaa
call fcn.18001d750
mov dword [rsp + 0x68], ebx
jmp case.0x1800099b4.0
mov dword [rsp + 0x68], 0
jmp case.0x1800099b4.0
call fcn.180023e38
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180009e14
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009e0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180009e0f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180023e38
mov rax, rbx
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800245e0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret