Function at 0x10005f7e8
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rdi, rcx
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
mov eax, 1
cmp rcx, rdx
je 0x10005f852
test byte [rcx + 0x1c], al
je 0x10005f852
cmp byte [rcx + 0x19], 4
jb 0x10005f852
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x4f]
lea r8, [0x100003c88]
call fcn.10001c854
mov eax, dword [rdi + 0x110]
xor r13d, r13d
lea rdx, [rsp + 0x90]
lea rbp, [rax + rax*2]
xor eax, eax
mov bl, r13b
shl rbp, 6
mov dword [rsp + 0x74], r13d
mov qword [rsp + 0x90], r13
add rbp, qword [rdi + 0x108]
mov r14, r13
mov qword [rsp + 0x80], r13
mov rcx, rbp
mov r12, r13
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x70], r13d
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
call fcn.10005cf80
cmp eax, r13d
mov r15, qword [rsp + 0x90]
mov esi, eax
jl 0x10005fda8
mov r8d, dword [rbp + 0x4c]
mov rcx, qword [rdi + 0xc8]
lea r9, [rsp + 0x68]
lea rdx, [rbp + 0x3c]
call fcn.100120c14
cmp eax, r13d
mov esi, eax
jl 0x10005fda3
test byte [rbp + 0x4c], 8
je 0x10005f90f
test byte [rbp + 0x4c], 0x20
lea ecx, [r13 + 1]
movzx ebx, bl
cmove ebx, ecx
mov dword [rsp + 0x78], ebx
lea rcx, [rdi + 0x18]
xor edx, edx
call fcn.10010b1d8
mov esi, eax
test eax, eax
js 0x10005fda3
mov r12, qword [rsp + 0x68]
mov edx, dword [rdi + 0x144]
xor r9d, r9d
mov rcx, r12
xor r8d, r8d
call fcn.10010c79c
mov esi, eax
test eax, eax
jns 0x10005f991
mov rcx, qword [0x1001653b8]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x10005fdaf
mov eax, 1
test byte [rcx + 0x1c], al
je 0x10005fdaf
cmp byte [rcx + 0x19], 2
jb 0x10005fdaf
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x50]
lea r8, [0x100003c88]
mov r9, r12
mov dword [rsp + 0x20], esi
call fcn.10001ddb0
jmp 0x10005fdaf
lea rcx, [rdi + 0x18]
call fcn.10010b368
mov ebx, 1
mov rcx, rdi
lea edx, [rbx + 2]
mov r8b, bl
call fcn.100061b14
lea rdx, [rsp + 0x80]
mov rcx, r15
call fcn.10009ba10
mov r14, qword [rsp + 0x80]
mov esi, eax
test eax, eax
js 0x10005fda8
cmp qword [rdi + 0x158], r13
jne 0x10005fbe7
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [rdi + 0x110]
lea rcx, [rdi + 0x48]
lea rax, [r11 + r11*2]
shl rax, 6
add rax, qword [rdi + 0x108]
and qword [rax], r13
and qword [rax + 8], r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rcx, rdx
je 0x10005fa4b
test byte [rcx + 0x1c], bl
je 0x10005fa4b
cmp byte [rcx + 0x19], 4
jb 0x10005fa4b
mov eax, dword [rdi + 0x110]
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x51]
lea r8, [0x100003c88]
mov r9, r15
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
mov rcx, rdi
call fcn.10005ef74
mov esi, eax
test eax, eax
js 0x10005fda8
lea r8, [rbp + 0xb0]
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.1000c4920
mov r12d, eax
test eax, eax
je 0x10005fac8
mov rcx, qword [0x1001653b8]
mov ebx, dword [rsp + 0x70]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x10005fabe
mov eax, 1
test byte [rcx + 0x1c], al
je 0x10005fabe
cmp byte [rcx + 0x19], 2
jb 0x10005fabe
lea edx, [rax + 0x52]
mov r9, r14
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r12d
call fcn.10001e4b0
mov edx, ebx
mov ecx, r12d
jmp 0x100060182
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10005fb0a
test byte [rcx + 0x1c], bl
je 0x10005fb0a
cmp byte [rcx + 0x19], 4
mov r12, qword [rsp + 0x68]
jb 0x10005fb0f
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x54
mov r9, r14
mov qword [rsp + 0x20], r12
call fcn.10001df74
jmp 0x10005fb0f
mov r12, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9, qword [rdi + 0x18]
mov ebx, eax
cmp r9, 0xffffffffffffffff
jne 0x10005fb2e
or r9, r9
cmp qword [rdi + 0x20], 0xffffffffffffffff
cmovne r9, qword [rdi + 0x20]
mov r8b, byte [rsp + 0x78]
lea rax, [rsp + 0x70]
mov rdx, r12
mov qword [rsp + 0x28], rax
lea rax, [rdi + 0x158]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1000d05c0
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
add dword [rdi + 0x16c], eax
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
mov eax, 1
je 0x10005fbae
test byte [rcx + 0x1c], al
je 0x10005fbae
cmp byte [rcx + 0x19], 4
jb 0x10005fbae
mov r9d, dword [rdi + 0x16c]
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x54]
lea r8, [0x100003c88]
call fcn.10001c878
mov rcx, qword [0x1001653b8]
mov eax, 1
test r12d, r12d
je 0x10005fbf0
mov ebx, dword [rsp + 0x70]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x10005fabe
test byte [rcx + 0x1c], al
je 0x10005fabe
cmp byte [rcx + 0x19], 2
jb 0x10005fabe
mov edx, 0x56
mov r9, r15
jmp 0x10005faa5
mov rcx, qword [0x1001653b8]
jmp 0x10005fbfa
mov r12, qword [rsp + 0x68]
mov ebx, 1
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10005fc2e
test byte [rcx + 0x1c], bl
je 0x10005fc2e
cmp byte [rcx + 0x19], 4
jb 0x10005fc2e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x57
mov r9, r14
mov qword [rsp + 0x20], r12
call fcn.10001df74
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [rdi + 0x18]
mov ebx, eax
cmp rcx, 0xffffffffffffffff
jne 0x10005fc4d
or rcx, rcx
cmp qword [rdi + 0x20], 0xffffffffffffffff
cmovne rcx, qword [rdi + 0x20]
lea rax, [rsp + 0x70]
lea r8, [fcn.10005ef00]
mov r9, rdi
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x90]
mov rdx, r12
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rdi + 0x158]
call fcn.1000d0dc8
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
add dword [rdi + 0x170], eax
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10005fcea
mov eax, 1
test byte [rcx + 0x1c], al
je 0x10005fcea
cmp byte [rcx + 0x19], 4
jb 0x10005fcea
mov r9d, dword [rdi + 0x16c]
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x57]
lea r8, [0x100003c88]
call fcn.10001c878
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [rdi + 0x110]
mov rax, qword [rsp + 0x90]
lea rdx, [r11 + r11*2]
lea rcx, [rdi + 0x48]
shl rdx, 6
add rdx, qword [rdi + 0x108]
mov qword [rdx], rax
mov rax, qword [rsp + 0x80]
mov qword [rdx + 8], rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, r12d
test r12d, r12d
je 0x10005fe81
mov edx, 1
cmp eax, edx
je 0x10005fd78
mov rcx, qword [0x1001653b8]
mov ebx, dword [rsp + 0x70]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x10005fabe
test byte [rcx + 0x1c], dl
je 0x10005fabe
cmp byte [rcx + 0x19], 2
jb 0x10005fabe
mov edx, 0x59
jmp 0x10005fbdf
lea rcx, [rdi + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
test al, al
jne 0x10005fd9e
lea r8, [0x1000071f0]
lea rcx, [0x100007030]
mov edx, 0x919
call fcn.10009a050
mov esi, 0x8078001d
mov r12, qword [rsp + 0x68]
lea r13, [0x1001653b8]
lea rcx, [rdi + 0x18]
call fcn.10010b368
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, 1
lea rcx, [rdi + 0x48]
add dword [rdi + 0x118], eax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [rdi + 0x11c]
cmp dword [rdi + 0x118], r11d
jbe 0x10005fdff
lea r8, [0x100007228]
lea rcx, [0x100007030]
mov edx, 0x9a9
call fcn.10009a050
test esi, esi
jns 0x10006038e
cmp esi, 0x80780118
je 0x100060323
test r15, r15
je 0x100060323
mov rdx, qword [rdi + 0x164]
lea r8, [0x1000eb430]
mov rcx, r15
call fcn.10011ccf0
test eax, eax
jns 0x100060323
mov rcx, qword [0x1001653b8]
mov ebx, 1
cmp rcx, r13
je 0x100060328
test byte [rcx + 0x1c], bl
je 0x100060328
cmp byte [rcx + 0x19], 2
jb 0x100060328
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x62]
lea r8, [0x100003c88]
mov r9, r15
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
jmp 0x100060328
mov rax, qword [rdi + 0x120]
mov ecx, dword [rdi + 0x118]
imul rcx, rcx, 0x6c
lea rdx, [rcx + rax + 0x50]
lea rax, [rsp + 0xa0]
mov rcx, qword [rax]
cmp rcx, qword [rdx]
jne 0x10005feb5
mov rcx, qword [rax + 8]
cmp rcx, qword [rdx + 8]
jne 0x10005feb5
xor eax, eax
jmp 0x10005feba
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100060038
cmp byte [rsp + 0x78], r13b
je 0x100060038
mov edx, 8
mov rcx, rbp
call fcn.10005cc7c
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10005ff72
mov eax, 1
test byte [rcx + 0x1c], al
je 0x10005ff72
cmp byte [rcx + 0x19], 3
jb 0x10005ff72
mov r8, qword [rdi + 0x120]
mov r9d, dword [rdi + 0x118]
mov rcx, qword [rcx + 0x10]
imul r9, r9, 0x6c
lea edx, [rax + 0x59]
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov eax, dword [r9 + r8 + 0x5c]
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + r8 + 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [r9 + r8 + 0x54]
mov r9d, dword [r9 + r8 + 0x50]
lea r8, [0x100003c88]
mov dword [rsp + 0x20], eax
call fcn.10005c934
mov edx, dword [rbp + 0x4c]
lea r12, [rbp + 0x3c]
lea r9, [rsp + 0x88]
mov rcx, r12
mov r8d, 2
call fcn.10011cef8
test eax, eax
jns 0x10005ffde
mov rbx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rbx, rdx
je 0x100060043
mov ecx, 1
test byte [rbx + 0x1c], cl
je 0x100060043
cmp byte [rbx + 0x19], 2
jb 0x100060043
lea edx, [rcx + 0x5a]
mov r9, r15
mov rcx, qword [rbx + 0x10]
lea r8, [0x100003c88]
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
jmp 0x10006003c
movdqu xmm0, xmmword [rdi + 0xd0]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0xa0]
movdqu xmmword [rsp + 0xa0], xmm0
call fcn.1000e7d90
test eax, eax
jns 0x10006003c
mov rbx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rbx, rdx
je 0x100060043
mov ecx, 1
test byte [rbx + 0x1c], cl
je 0x100060043
cmp byte [rbx + 0x19], 2
jb 0x100060043
mov r9, qword [rsp + 0x88]
lea edx, [rcx + 0x5b]
jmp 0x10005ffc8
lea r12, [rbp + 0x3c]
mov rbx, qword [0x1001653b8]
mov eax, dword [rdi + 0x118]
inc eax
cmp eax, dword [rdi + 0x11c]
je 0x10006007d
mov r9d, dword [rbp + 0x4c]
mov edx, eax
mov rax, qword [rdi + 0x120]
imul rdx, rdx, 0x6c
lea rcx, [rdx + rax + 0x2c]
mov edx, dword [rdx + rax + 0x3c]
mov r8, r12
call fcn.10009d098
test al, al
jne 0x100060300
lea rax, [0x1001653b8]
mov r12d, 1
cmp rbx, rax
je 0x1000600bd
test byte [rbx + 0x1c], r12b
je 0x1000600bd
cmp byte [rbx + 0x19], 4
jb 0x1000600bd
mov eax, dword [rdi + 0x110]
mov rcx, qword [rbx + 0x10]
lea edx, [r12 + 0x5c]
lea r8, [0x100003c88]
mov r9, r15
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
mov rdx, qword [rdi + 0x158]
mov rcx, rbp
call fcn.10005ce28
cmp qword [rdi + 0x158], r13
jne 0x1000600ed
lea r8, [0x100007200]
lea rcx, [0x100007030]
mov edx, 0x957
call fcn.10009a050
mov rcx, qword [rdi + 0x158]
call fcn.1000d24b8
and qword [rdi + 0x158], r13
test byte [rbp + 0x4c], r12b
jne 0x1000602d6
cmp byte [rdi + 0x180], r13b
jne 0x100060251
lea rdx, [rbp + 0xb0]
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
mov rcx, r14
mov byte [rsp + 0x60], r13b
call fcn.1000c4c20
mov ebx, eax
test eax, eax
je 0x100060193
mov rcx, qword [0x1001653b8]
mov esi, dword [rsp + 0x70]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x10006017e
test byte [rcx + 0x1c], r12b
je 0x10006017e
cmp byte [rcx + 0x19], 2
jb 0x10006017e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x5e
mov r9, r15
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call fcn.10001e4b0
mov edx, esi
mov ecx, ebx
lea r8, [rsp + 0x74]
call fcn.10010de1c
mov esi, eax
jmp 0x1000602cc
mov rcx, qword [0x1001653b8]
mov bl, byte [rsp + 0x60]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x1000601e4
test byte [rcx + 0x1c], r12b
je 0x1000601e4
cmp byte [rcx + 0x19], 4
jb 0x1000601e4
mov rcx, qword [rcx + 0x10]
lea rax, [0x100005928]
test bl, bl
lea r9, [0x100007220]
lea r8, [0x100003c88]
mov edx, 0x5f
cmovne r9, rax
mov qword [rsp + 0x20], r14
call fcn.10001df74
test bl, bl
je 0x100060285
mov r8b, r12b
mov edx, 0xc
mov rcx, rdi
call fcn.100061b14
mov r8d, 0x2000
mov rdx, r14
mov rcx, rbp
call fcn.10005f550
mov esi, eax
test eax, eax
jns 0x100060285
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x1000602cc
test byte [rcx + 0x1c], r12b
je 0x1000602cc
cmp byte [rcx + 0x19], 2
jb 0x1000602cc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x60
mov r9d, eax
call fcn.10001c878
jmp 0x1000602cc
mov rcx, qword [0x1001653b8]
lea r13, [0x1001653b8]
cmp rcx, r13
je 0x100060285
test byte [rcx + 0x1c], r12b
je 0x100060285
cmp byte [rcx + 0x19], 4
jb 0x100060285
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x61
call fcn.10001c854
mov rcx, r14
call fcn.10010c414
mov esi, eax
test eax, eax
jns 0x1000602e3
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x1000602c7
test byte [rcx + 0x1c], r12b
je 0x1000602c7
cmp byte [rcx + 0x19], 2
jb 0x1000602c7
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003c88]
mov edx, 0x62
mov r9, r14
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
mov esi, 0x80780124
mov r12, qword [rsp + 0x68]
jmp 0x10005fdaf
mov edx, 9
mov rcx, rbp
call fcn.10005cd18
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [rdi + 0x150], r12d
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100060306
mov r12d, 1
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [rbp + 0x10], r12d
lea rcx, [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10005fda3
mov ebx, 1
mov rcx, qword [rdi + 0x158]
test rcx, rcx
je 0x100060341
call fcn.1000d24b8
and qword [rdi + 0x158], 0
mov r8d, dword [rsp + 0x74]
mov edx, esi
mov rcx, rbp
call fcn.10005cd9c
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x100060395
test byte [rcx + 0x1c], bl
je 0x100060395
cmp byte [rcx + 0x19], 2
jb 0x100060395
mov rcx, qword [rcx + 0x10]
test r15, r15
lea r9, [0x100007248]
lea r8, [0x100003c88]
mov edx, 0x64
cmovne r9, r15
mov dword [rsp + 0x20], esi
call fcn.10001ddb0
mov rcx, qword [0x1001653b8]
test r12, r12
je 0x1000603aa
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
test r14, r14
je 0x1000603bf
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
test r15, r15
je 0x1000603d4
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1000603f1
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x100060419
mov eax, 1
test byte [rcx + 0x1c], al
je 0x100060419
cmp byte [rcx + 0x19], 4
jb 0x100060419
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x64]
lea r8, [0x100003c88]
call fcn.10001c854
mov eax, esi
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.10014e600
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret