Function at 0x404ac9
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x170
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
call fcn.00404a79
mov eax, 0
mov dword [rbp - 0x48], eax
movabs rax, 0x44
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x44]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [0x0040482c]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x30], rax
lea rax, [0x006e17e8]
mov qword [rbp - 8], rax
movabs rax, 0x7f00
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.user32.dll_LoadCursorA
mov qword [rbp - 0x20], rax
mov eax, 0
mov dword [rbp - 0x58], eax
mov eax, 0
mov dword [rbp - 0x54], eax
mov eax, dword [0x006e1588]
mov dword [rbp - 0x50], eax
mov eax, dword [0x006e158c]
mov dword [rbp - 0x4c], eax
mov eax, 0
mov r9, rax
mov eax, 0
mov r8, rax
mov eax, 0x80000
mov r11, rax
lea rax, [rbp - 0x58]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.user32.dll_AdjustWindowRectEx
mov eax, dword [rbp - 0x50]
mov ecx, dword [rbp - 0x58]
sub eax, ecx
mov dword [rbp - 0x5c], eax
mov eax, dword [rbp - 0x4c]
mov ecx, dword [rbp - 0x54]
sub eax, ecx
mov dword [rbp - 0x60], eax
lea rax, [rbp - 0x48]
mov r10, rax
mov rcx, r10
call sub.user32.dll_RegisterClassA
movzx eax, ax
mov eax, dword [rbp - 0x5c]
add eax, 6
mov ecx, dword [rbp - 0x60]
add ecx, 0x1d
movabs rdx, 0
mov qword [rsp + 0x58], rdx
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x50], rdx
movabs rdx, 0
mov qword [rsp + 0x48], rdx
movabs rdx, 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov eax, 0x80000000
mov qword [rsp + 0x28], rax
mov eax, 0x80000000
mov qword [rsp + 0x20], rax
mov eax, 0x10080000
mov r9, rax
lea rax, str.WPC98TH7
mov r8, rax
lea rax, str.WndClass
mov r11, rax
mov eax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.user32.dll_CreateWindowExA
mov qword [rbp - 0x68], rax
mov eax, dword [0x006e1588]
mov ecx, dword [0x006e158c]
imul eax, ecx
movsxd rax, eax
shl rax, 2
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_malloc
mov qword [0x006e1cb8], rax
mov eax, 0x28
mov dword [rbp - 0x94], eax
mov eax, dword [0x006e1588]
mov dword [rbp - 0x90], eax
mov eax, dword [0x006e158c]
mov dword [rbp - 0x8c], eax
mov eax, 1
mov word [rbp - 0x88], ax
mov eax, 0x20
mov word [rbp - 0x86], ax
mov eax, 0
mov dword [rbp - 0x84], eax
mov rax, qword [rbp - 0x68]
mov r10, rax
mov rcx, r10
call sub.user32.dll_GetDC
mov qword [rbp - 0xa0], rax
lea rax, [rbp - 0xa8]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_QueryPerformanceCounter
lea rax, [0x006e1cc0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_QueryPerformanceFrequency
mov eax, dword [0x006e1598]
cmp eax, 0
je 0x404f49
mov eax, 1
mov qword [rsp + 0x20], rax
mov eax, 0
mov r9, rax
mov eax, 0
mov r8, rax
mov rax, qword [rbp - 0x68]
mov r11, rax
lea rax, [rbp - 0xf8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.user32.dll_PeekMessageA
cmp eax, 0
je 0x404d77
lea rax, [rbp - 0xf8]
mov r10, rax
mov rcx, r10
call sub.user32.dll_TranslateMessage
lea rax, [rbp - 0xf8]
mov r10, rax
mov rcx, r10
call sub.user32.dll_DispatchMessageA
jmp 0x404d12
lea rax, [rbp - 0xb0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0xb0]
mov r11, rax
mov rax, qword [rbp - 0xa8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401492
movd dword [0x006e1594], xmm0
movd xmm0, dword [0x006e1594]
movd xmm1, dword [0x006e1590]
comiss xmm1, xmm0
jp 0x404e50
jbe 0x404e50
movd xmm0, dword [0x006e1590]
subss xmm0, dword [0x006e1594]
movd xmm1, dword [0x006e1804]
mulss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp - 0xfc], eax
movd xmm0, dword [0x006e1594]
movd xmm1, dword [0x006e1590]
comiss xmm1, xmm0
jp 0x404e50
jbe 0x404e50
lea rax, [rbp - 0xb0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0xb0]
mov r11, rax
mov rax, qword [rbp - 0xa8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401492
movd dword [0x006e1594], xmm0
jmp 0x404df6
lea rax, [rbp - 0xb0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0xb0]
mov r11, rax
mov rax, qword [rbp - 0xa8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401492
movd dword [0x006e1594], xmm0
mov eax, 8
mov r8, rax
lea rax, [rbp - 0xb0]
mov r11, rax
lea rax, [rbp - 0xa8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
call fcn.00404608
mov eax, 0xcc0020
mov qword [rsp + 0x60], rax
mov eax, 0
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x94]
mov qword [rsp + 0x50], rax
mov rax, qword [0x006e1cb8]
mov qword [rsp + 0x48], rax
mov eax, dword [0x006e158c]
mov qword [rsp + 0x40], rax
mov eax, dword [0x006e1588]
mov qword [rsp + 0x38], rax
mov eax, 0
mov qword [rsp + 0x30], rax
mov eax, 0
mov qword [rsp + 0x28], rax
mov eax, dword [0x006e158c]
mov qword [rsp + 0x20], rax
mov eax, dword [0x006e1588]
mov r9, rax
mov eax, 0
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0xa0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.gdi32.dll_StretchDIBits
jmp 0x404d03
mov eax, 0
leave
ret