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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
cmp dword [ebp + 0x10], 0x453
push ebx
push esi
jne 0x419177
push 0x19000
lea ecx, [ebp + 0x14]
call fcn.00432cd5
mov esi, dword [ebp + 0x14]
lea eax, [ebp + 0x10]
push eax
push esi
lea eax, [ebp + 0x18]
push eax
push str.Text.Paramd
xor ebx, ebx
mov word [esi], bx
mov dword [esi + 0x31ffc], ebx
push str.SOFTWAREPELOGON
push 0x80000002
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x10], 0x31ffe
call fcn.0042eace
add esp, 0x18
test eax, eax
je 0x419147
mov word [esi], bx
mov ecx, dword [ebp + 8]
push esi
call fcn.00410ce9
mov esi, eax
or esi, 0x1000
mov eax, esi
or eax, 0x10
push eax
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea ecx, [ebp + 0x14]
call fcn.0042dd2d
mov eax, esi
jmp 0x4197c2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov esi, eax
mov eax, dword [0x4a6044]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 8], esi
je 0x4191ae
cmp eax, dword [ebp + 0x10]
jne 0x4191ae
cmp dword [0x4a5e3c], ebx
je 0x4191ae
cmp esi, ebx
je 0x4191ae
push esi
push dword [ebp + 0xc]
mov dword [0x4a5e3c], esi
call dword [sym.imp.USER32.dll_SetParent]
mov eax, dword [ebp + 0x10]
push edi
mov edi, 0x110
cmp eax, edi
je 0x419367
cmp eax, 0x44f
je 0x4191eb
cmp esi, ebx
je 0x4191eb
mov ecx, dword [0x4a5e3c]
cmp ecx, ebx
je 0x4191eb
cmp ecx, esi
je 0x4191eb
push esi
push dword [ebp + 0xc]
mov dword [0x4a5e3c], esi
call dword [sym.imp.USER32.dll_SetParent]
mov eax, dword [ebp + 0x10]
cmp eax, edi
ja 0x4194f0
je 0x419367
cmp eax, 5
je 0x41934d
cmp eax, 0xf
je 0x4192a5
cmp eax, 0x14
je 0x41921e
cmp eax, 0x7e
je 0x41950d
jmp 0x419644
cmp dword [0x4a5e14], ebx
je 0x419298
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x14]
call dword [0x4a5d94]
test eax, eax
jne 0x419298
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, dword [0x4a5e20]
push ebx
call esi
mov dword [0x4a5e20], eax
mov eax, dword [0x4a5e24]
push 1
mov dword [ebp + 0x14], eax
call esi
mov ecx, dword [0x4a5e20]
cmp edi, ecx
mov dword [0x4a5e24], eax
jne 0x41926b
cmp dword [ebp + 0x14], eax
je 0x419280
push 0x16
push eax
push ecx
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x4a5e24]
push eax
push dword [0x4a5e20]
push ebx
push ebx
push dword [0x4a5e14]
push dword [ebp - 4]
call dword [0x4a5d98]
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
jmp 0x4197c1
mov eax, dword [0x4a5e3c]
cmp eax, ebx
je 0x4192c2
cmp eax, esi
je 0x4192c2
push esi
push dword [ebp + 0xc]
mov dword [0x4a5e3c], esi
call dword [sym.imp.USER32.dll_SetParent]
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [0x4a5e2d], bl
jne 0x41932d
cmp byte [0x4a5e2c], bl
je 0x419307
cmp byte [0x4a5e45], bl
je 0x4192fb
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0xc]
mov dword [0x4a5e28], eax
call dword [sym.imp.USER32.dll_GetClientRect]
jmp 0x419311
mov dword [0x4a5e28], 0x4a4270
jmp 0x419311
mov dword [0x4a5e28], 0x4a5e18
push dword [0x4a900c]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
push dword [0x4a5e28]
push dword [ebp - 0x58]
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push dword [ebp - 0x58]
call fcn.0040cc1a
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x419644
cmp dword [ebp + 0x14], 1
jne 0x419644
push 1
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x419644
call fcn.004319c3
mov esi, 0x4a6658
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, str.LogohWnd
push edi
push str.SOFTWAREPELOGON
push 0x80000002
call fcn.0042ebbc
push 4
lea eax, [ebp + 0xc]
push eax
push 4
push edi
push str.SOFTWAREPELOGON
push 0x80000002
call fcn.0042eb45
add esp, 0x24
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, byte [0x4a5c10]
and al, 0xc
cmp al, 8
jne 0x4193c4
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EnableWindow]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
call edi
push 1
mov dword [0x4a5e20], eax
call edi
cmp byte [0x4a5e45], bl
mov dword [0x4a5e24], eax
je 0x419407
push 0x14
push dword [0x4a427c]
push dword [0x4a4278]
push dword [0x4a4274]
push dword [0x4a4270]
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebp - 8]
cmp eax, ebx
mov dword [0x4a5e3c], 0xffffeffb
je 0x419427
push eax
push dword [ebp + 0xc]
mov dword [0x4a5e3c], eax
call dword [sym.imp.USER32.dll_SetParent]
cmp byte [0x4a4281], bl
push 2
pop edi
mov byte [ebp + 0x14], 0xff
jl 0x419439
push 3
pop edi
mov ax, word [0x4a4284]
cmp ax, bx
jl 0x41944c
or cl, 0xff
sub cl, al
mov byte [ebp + 0x14], cl
or edi, 2
push edi
push dword [ebp + 0x14]
push dword [0x4a900c]
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push ebx
push dword [0x4a5e24]
push dword [0x4a5e20]
push ebx
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_MoveWindow]
mov al, byte [0x4a5e44]
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
push 0x10
push dword [0x4a5e24]
neg al
push dword [0x4a5e20]
push ebx
push ebx
sbb eax, eax
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
jne 0x4194b9
push 0x10
push dword [0x4a5e24]
push dword [0x4a5e20]
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
call edi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0xc]
push esi
mov dword [0x4a5df8], eax
mov dword [0x4a5dfc], eax
mov byte [0x4a5e39], 2
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
push ebx
push 0x44f
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x419644
sub eax, 0x111
je 0x41961a
sub eax, 0x33e
je 0x419611
dec eax
jne 0x419644
mov esi, 0x4a6658
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x10], 0x450
jne 0x419588
push 0x20a
lea ecx, [ebp + 0x14]
call fcn.00432cd5
mov edi, dword [ebp + 0x14]
lea eax, [ebp + 0x10]
push eax
push edi
lea eax, [ebp + 8]
push eax
push str.LogoFile
mov word [edi], bx
push str.SOFTWAREPELOGON
push 0x80000002
mov dword [ebp + 8], ebx
mov dword [ebp + 0x10], 0x412
call fcn.0042eace
add esp, 0x18
neg eax
sbb eax, eax
inc eax
mov dword [ebp + 0x18], eax
mov word [edi + 0x410], bx
je 0x419580
cmp word [edi], bx
je 0x419580
push edi
mov ecx, 0x4a5fa8
call fcn.0043cdc0
lea ecx, [ebp + 0x14]
call fcn.0042dd2d
mov edi, dword [0x4a5fa8]
cmp edi, ebx
je 0x4195be
cmp word [edi], bx
je 0x4195be
mov eax, dword [0x4a5e14]
cmp eax, ebx
je 0x4195ad
push eax
call dword [0x4a5d90]
mov dword [0x4a5e14], ebx
mov eax, dword [0x4a5d9c]
cmp eax, ebx
je 0x4195be
push 0x4a5e14
push edi
call eax
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
call esi
push 1
mov dword [0x4a5e20], eax
call esi
cmp byte [0x4a5e45], bl
mov dword [0x4a5e24], eax
jne 0x4195f9
push 0x10
push eax
push dword [0x4a5e20]
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push 0x4a5e18
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov byte [0x4a5e39], bl
jmp 0x419644
mov byte [0x4a5e39], 7
jmp 0x419609
cmp dword [ebp + 0x14], 0x66
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, 0x4a6658
je 0x419734
cmp dword [ebp + 0x14], 0x67
je 0x41964b
cmp dword [ebp + 0x14], 2
jne 0x419644
test byte [0x4a5c10], 0xc
je 0x41964b
xor eax, eax
jmp 0x4197c1
push esi
call edi
add dword [0x4a6224], 1
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0x14], 0x67
jne 0x41966b
mov eax, dword [ebp + 0x18]
cmp eax, ebx
je 0x41966b
mov byte [eax], bl
cmp byte [0x4a4281], bl
jge 0x419723
test byte [0x4a5c10], 2
jne 0x419723
call dword [sym.imp.KERNEL32.dll_GetTickCount]
fldz
fstp dword [ebp + 0x10]
mov dword [ebp + 0x18], eax
fldz
fstp dword [ebp + 0x14]
fld dword [ebp + 0x10]
fmul dword [0x4915e0]
call fcn.0047ab44
mov ecx, dword [ebp + 0x18]
add eax, ecx
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 8]
sub ecx, eax
test ecx, ecx
jle 0x4196de
fld dword [ebp + 0x14]
push 2
fadd qword [0x4915d8]
call fcn.0047ab44
xor ecx, ecx
or cl, 0xff
sub cl, al
push ecx
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
fld dword [0x4915d0]
fld dword [ebp + 0x14]
fadd st(1)
fstp dword [ebp + 0x14]
fld dword [ebp + 0x10]
fadd st(1)
fstp dword [ebp + 0x10]
fstp st(0)
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 8]
sub ecx, eax
test ecx, ecx
jle 0x41970f
push 1
push 0xb
call dword [sym.imp.KERNEL32.dll_SleepEx]
fld dword [ebp + 0x14]
fcomp dword [0x4915cc]
fnstsw ax
test ah, 0x41
jnp 0x419697
push esi
call edi
sub dword [0x4a6224], 1
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call edi
and byte [0x4a5c10], 0xfd
push str.LogohWnd
push str.SOFTWAREPELOGON
push 0x80000002
call fcn.0042ebbc
add esp, 0xc
mov ecx, 0x4a5fa8
mov dword [0x4a5e3c], ebx
mov byte [0x4a4281], 0xff
call fcn.0042dd2d
mov eax, dword [0x4a5e14]
cmp eax, ebx
je 0x41977c
push eax
call dword [0x4a5d90]
mov eax, dword [0x4a5dfc]
cmp eax, dword [0x4a5df8]
mov dword [0x4a5e14], ebx
jne 0x419795
mov dword [0x4a5dfc], ebx
push esi
mov dword [0x4a5df8], ebx
mov byte [0x4a5e45], bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov al, byte [0x4a6219]
push eax
call fcn.004319e8
pop ecx
push 8
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebx
leave
ret 0x14