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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
lea eax, [ebp - 0x1c]
mov dword [ebp - 0xc], edx
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoGetApartmentType]
test eax, eax
js 0xb8e56e
cmp dword [ebp - 0x1c], 6
je 0xbd4abf
and dword [ebp - 0x10], 0
push ebx
push esi
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov ebx, dword [ebp + 0xc]
mov esi, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0xbd4ad5
push edi
mov edi, dword [ebp + 8]
cmp dword [ebp - 0x10], 0
jne 0xbd4ae5
push 0
push 0x1cff
push esi
push eax
push edi
call dword [sym.imp.api_ms_win_rtcore_ntuser_synch_l1_1_0.dll_MsgWaitForMultipleObjectsEx]
mov dword [ebp - 4], eax
xor esi, esi
mov dword [ebp - 8], esi
cmp ebx, 0xffffffff
je 0xb8e618
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, ebx
jbe 0xb8e604
mov eax, 0x102
mov dword [ebp - 4], eax
cmp eax, edi
je 0xb8e620
cmp eax, 0xc0
je 0xb8e610
mov ebx, 0x102
cmp eax, ebx
jne 0xb8e5fb
test edi, edi
je 0xb8e5fb
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xc]
push edi
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForMultipleObjectsEx]
cmp eax, ebx
jne 0xb8e5fb
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, ebx
sub esi, eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], esi
jmp 0xb8e5cd
mov eax, dword [ebp - 0xc]
jmp 0xb8e591
or esi, 0xffffffff
mov dword [ebp - 8], esi
jmp 0xb8e5cd
mov esi, dword [ebp - 0xc]
jmp 0xbd4b19
cmp dword [ebp - 0x18], 0
jne 0xb8e56e
mov dword [ebp - 0x10], 1
jmp 0xb8e572
cmp ebx, 0xffffffff
jne 0xb8e58d
or eax, ebx
jmp 0xb8e5fc
lea ecx, [ebp - 4]
push ecx
push eax
push edi
push esi
push 0x18
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoWaitForMultipleHandles]
cmp eax, 0x80010115
jne 0xbd4b05
mov eax, 0x102
jmp 0xb8e5ab
test eax, eax
jns 0xbd4b11
or eax, 0xffffffff
jmp 0xb8e5ab
mov eax, dword [ebp - 4]
jmp 0xb8e5ae
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_PeekMessageW]
test eax, eax
je 0xbd4bb7
cmp dword [ebp - 0x34], 0x12
je 0xbd4ba4
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_TranslateMessage]
cmp dword [ebp - 0x34], 0x20
jne 0xbd4b6a
mov eax, 0xfffe
cmp word [ebp - 0x2c], ax
je 0xbd4b6a
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0xbd4b74
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_DispatchMessageW]
test edi, edi
je 0xbd4b8c
xor eax, eax
push eax
push eax
push eax
push esi
push edi
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForMultipleObjectsEx]
cmp eax, 0x102
jne 0xbd4bb2
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
mov edx, ebx
call fcn.00c25ec6
test eax, eax
jne 0xbd4b19
jmp 0xbd4bad
push dword [ebp - 0x30]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_PostQuitMessage]
mov eax, 0x102
mov dword [ebp - 4], eax
jmp 0xbd4bba
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp eax, edi
je 0xb8e610
jmp 0xb8e5d1