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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x180079798]
xor rax, rsp
mov qword [rsp + 0x98], rax
lea ebx, [rdx - 0xd]
mov dword [rsp + 0x64], edx
xor r9d, r9d
mov dword [rsp + 0x40], ebx
cmp edx, ebx
mov qword [rsp + 0x68], rcx
mov ebx, dword [rsp + 0x48]
lea r10, [0x180000000]
mov r13, r8
mov eax, edx
mov rbp, rcx
mov r12d, edx
jbe 0x180013020
mov rax, qword [rsp + 0x68]
lea r15d, [rdx - 0x23]
mov esi, dword [rsp + 0x48]
movabs rdx, 0x5f003200730077
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x40]
nop word [rax + rax]
cmp r15d, 0x42
ja case.default.0x180012cfe
movzx eax, byte [r10 + r15 + 0x13180]
mov ecx, dword [r10 + rax*4 + 0x13148]
add rcx, r10
jmp rcx
mov qword [rsp + 0x80], rdx
mov word [rsp + 0x88], r9w
jmp case.0x180012cfe.10
mov qword [rsp + 0x20], r9
mov r8, r13
xor r9d, r9d
mov edx, 0x9d
xor ecx, ecx
call fcn.180013230
test al, al
jne 0x180012f25
mov edi, 0x66
nop word [rax + rax]
mov eax, edi
sub eax, 0x65
je case.0x180012f8b.51
cmp eax, 1
jne 0x180012d69
mov r8, qword [0x180079880]
lea edx, [rax + 0x64]
xor ecx, ecx
call fcn.180012c50
xor r9d, r9d
mov ebx, r9d
jmp 0x180012d6c
xor r9d, r9d
dec edi
cmp edi, 0x64
ja 0x180012d40
jmp 0x180012f28
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8a
call fcn.180021f90
jmp 0x180012f25
mov dword [rsp + 0x48], r9d
xor r8d, r8d
lea r9, [rsp + 0x48]
xor edx, edx
mov ecx, 0xc0
call fcn.18002cbf0
mov r8, rax
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x40]
lea r10, [0x180000000]
xor r9d, r9d
movabs rdx, 0x5f003200730077
jmp 0x180012f42
mov qword [rsp + 0x30], r9
xor r8d, r8d
mov qword [rsp + 0x28], r9
mov edx, 0xe0
mov qword [rsp + 0x20], r9
xor ecx, ecx
mov r9, r13
call fcn.180019dc0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x180012e08
mov edx, 0x98
mov rcx, rax
call fcn.18001c340
mov dword [0x1800798dc], 0xffffffff
jmp 0x180012f25
mov rcx, qword [r13 + 0x28]
mov dword [rsp + 0x60], r9d
call qword [r13 + 0x20]
test al, al
je 0x180012f25
mov edi, 0x6f
xor r14d, r14d
cmp edi, 0x6f
je 0x180012e6b
cmp edi, 0x4be1
je 0x180012e4f
cmp edi, 0x9753
jne 0x180012e99
call qword [r13 + 0x50]
jmp 0x180012e99
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, esi
mul ecx
mov ebp, edx
shr ebp, 6
mov dword [rsp + 0x60], ebp
jmp 0x180012e99
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov qword [rsp + 0x38], r14
mov r9, r13
mov dword [rsp + 0x30], 0xe9
xor r8d, r8d
mov qword [rsp + 0x28], r14
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r14
mov esi, eax
call fcn.18001ecb0
add edi, 0x4b72
cmp edi, 0xe256
jbe 0x180012e34
mov rbp, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
jmp 0x180012f25
mov r8d, 4
lea rdx, [0x18006edfe]
lea rcx, [rsp + 0x80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x180012f25
mov r14, r13
mov qword [rsp + 0x70], r13
jmp case.0x180012cfe.10
mov r8, qword [0x180079880]
lea rdx, [rsp + 0x58]
mov ecx, 0x56
mov byte [rsp + 0x58], 1
call fcn.1800145f0
jmp 0x180012f25
mov r8, qword [0x180079880]
mov edx, 0x65
xor ecx, ecx
call fcn.180012c50
jmp 0x180012f25
mov r8, qword [0x180079880]
xor edx, edx
lea ecx, [rdx + 0x48]
call fcn.1800145f0
test al, al
je case.0x180012f8b.48
xor r9d, r9d
lea r10, [0x180000000]
movabs rdx, 0x5f003200730077
mov eax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
dec r12d
dec r15d
cmp r12d, eax
ja 0x180012ce0
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x64]
mov rsi, qword [rsp + 0x68]
mov edi, eax
add eax, 0xfffffff4
cmp edi, eax
jbe case.0x180012f8b.51
lea eax, [rdi - 0x30]
cmp eax, 0x35
ja case.0x180012f8b.53
movzx eax, byte [r10 + rax + 0x131f4]
mov ecx, dword [r10 + rax*4 + 0x131c4]
add rcx, r10
jmp rcx
mov esi, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
nop word [rax + rax]
mov edi, SHSetFolderPathW
mov eax, edi
sub eax, 0xe2
je 0x180013007
sub eax, 1
je 0x180013002
sub eax, 1
je 0x180012fec
sub eax, 1
je 0x180012fdc
cmp eax, 1
jne 0x18001300a
movsx ecx, byte [r14]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
movsx ecx, byte [rbp]
mov esi, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ecx, eax
jmp 0x18001300a
cmp esi, ecx
je 0x18001300a
jge 0x180013016
mov eax, 0xffffffff
jmp 0x18001311a
test esi, esi
jne 0x18001300a
mov rsi, qword [rsp + 0x68]
xor r9d, r9d
mov edi, 0x31
jmp case.0x180012f8b.53
inc r14
jmp 0x18001300a
inc rbp
dec edi
cmp edi, 0xe1
ja 0x180012fa5
jmp 0x180012fa0
mov eax, 1
jmp 0x18001311a
mov r8, qword [rsp + 0x68]
mov edx, dword [rsp + 0x48]
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x60], edx
jmp 0x180012f59
mov qword [rsp + 0x20], r9
xor r8d, r8d
mov r9d, 0xc1
xor edx, edx
mov rcx, r13
call fcn.180013f80
test al, al
je case.0x180012f8b.51
mov rcx, qword [r13]
call rsi
xor r9d, r9d
mov qword [r13], 0xffffffffffffffff
jmp case.0x180012f8b.53
mov dword [rsp + 0x92], 0x6c
jmp case.0x180012f8b.53
mov r8d, 1
lea rdx, [0x18006ee1e]
lea rcx, [rsp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor r9d, r9d
mov word [rsp + 0x92], r9w
jmp case.0x180012f8b.53
xor r9d, r9d
mov qword [rsp + 0x20], r8
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x1f]
call fcn.180016a00
xor r9d, r9d
jmp case.0x180012f8b.53
mov qword [rsp + 0x30], r9
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], r9
xor r8d, r8d
mov r9d, 0x128
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r8 + 3]
call fcn.180033950
mov rsi, rax
xor r9d, r9d
jmp case.0x180012f8b.53
mov dword [r13 + 8], r9d
jmp case.0x180012f8b.53
mov ebx, edx
mov edx, dword [rsp + 0x60]
lea r10, [0x180000000]
mov eax, dword [rsp + 0x64]
dec edi
mov r8, qword [rsp + 0x50]
jmp 0x180012f60
xor eax, eax
jmp 0x18001311a
mov eax, ebx
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1800596f0
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret