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

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2e1d]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
movsx eax, byte [rax + 0x438]
cmp eax, 1
je 0x140049a35
mov eax, 0xffffffff
jmp 0x140049ccc
mov rax, qword [rsp + 0x20]
movsx eax, byte [rax + 0x437]
cmp eax, 1
jne 0x140049a50
mov eax, 1
jmp 0x140049ccc
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x20], 0
jg 0x140049a6d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r11d, eax
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x20], r11d
mov rax, qword [rsp + 0x20]
movsx eax, byte [rax + 0x436]
cmp eax, 1
jne 0x140049a83
jmp 0x140049b6b
mov rax, qword [rsp + 0x20]
movsx eax, byte [rax + 0x435]
test eax, eax
jne 0x140049b29
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x2e09]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2e09], ecx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov rax, qword [rsp + 0x20]
sub ecx, dword [rax + 0x20]
mov rax, qword [rsp + 0x40]
cmp ecx, dword [rax + 0x2dd1]
jle 0x140049ae1
mov edx, 0x2003d
mov rcx, qword [rsp + 0x40]
call fcn.140034200
jmp 0x140049b6b
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x24]
add ecx, 1
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x24], ecx
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e05]
cmp dword [rcx + 0x24], eax
jle 0x140049b0b
jmp 0x140049b6b
mov rax, qword [rsp + 0x20]
movsxd rdx, dword [rax + 0x24]
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rax + rdx*8]
mov qword [rcx], rax
mov rax, qword [rsp + 0x20]
cmp qword [rax], 0
jne 0x140049b36
jmp 0x140049b6b
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x430], 0
mov rcx, qword [rsp + 0x40]
call fcn.1400492a0
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
je 0x140049b64
mov eax, 0xffffffff
jmp 0x140049ccc
xor eax, eax
jmp 0x140049ccc
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x437], 1
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x2e0d]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2e0d], ecx
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x2e11]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2e11], ecx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov rax, qword [rsp + 0x20]
sub ecx, dword [rax + 0x20]
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2e15], ecx
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x2ddd], 0
jle 0x140049cc7
mov dword [rsp + 0x2c], 0
jmp 0x140049beb
mov eax, dword [rsp + 0x2c]
add eax, 1
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2ddd]
cmp dword [rsp + 0x2c], eax
jge 0x140049c22
movsxd rcx, dword [rsp + 0x2c]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2de1]
mov eax, dword [rax + rcx]
and eax, 0x20
test eax, eax
je 0x140049c20
jmp 0x140049c22
jmp 0x140049be0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2ddd]
cmp dword [rsp + 0x2c], eax
jne 0x140049cc7
mov edx, 0x20041
mov rcx, qword [rsp + 0x40]
call fcn.140034200
mov dword [rsp + 0x2c], 0
jmp 0x140049c5b
mov eax, dword [rsp + 0x2c]
add eax, 1
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2ddd]
cmp dword [rsp + 0x2c], eax
jge 0x140049cc7
movsxd rcx, dword [rsp + 0x2c]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2de1]
mov edx, dword [rax + rcx]
or edx, 0x20
movsxd rcx, dword [rsp + 0x2c]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2de1]
mov dword [rcx + rax], edx
movsxd rcx, dword [rsp + 0x2c]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2de1]
mov dword [rax + rcx + 8], 0xb
jmp 0x140049c50
mov eax, 1
add rsp, 0x38
ret