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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov r13, r9
mov ebx, r8d
mov r12, rcx
movaps xmmword [rax - 0x68], xmm8
cmp r8d, 0x21
jne 0x1400386d3
test byte [0x140106d4c], 0x50
je 0x14003878a
lea eax, [r8 - 0x1d]
jmp 0x140039175
cmp ebx, 0x453
jne 0x14003878a
lea rcx, [rsp + 0x88]
mov edx, 0x19000
call fcn.140056040
mov rbx, qword [rsp + 0x88]
xor esi, esi
mov word [rbx], si
mov dword [rbx + 0x31ffc], esi
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x7c]
lea r8, str.Text.Paramd
lea rdx, str.SOFTWAREPELOGON
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0x31ffe
mov qword [rsp + 0x20], rbx
call fcn.14004fbd8
cmp eax, esi
je 0x14003874b
mov word [rbx], si
mov rdx, rbx
mov rcx, r12
call fcn.14002a62c
mov rcx, qword [rsp + 0x178]
xor edx, edx
mov rbx, rax
bts rbx, 0xc
mov r8, rbx
or r8, 0x10
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
lea rcx, [rsp + 0x88]
call fcn.14004ea6c
mov rax, rbx
jmp 0x140039175
call qword [sym.imp.USER32.dll_GetDesktopWindow]
xor esi, esi
mov rbp, rax
mov eax, dword [0x140107160]
cmp eax, esi
je 0x1400387cc
cmp eax, ebx
jne 0x1400387cc
mov rax, qword [0x140106d88]
cmp rax, rsi
je 0x1400387d3
cmp rbp, rsi
je 0x1400387d3
mov rcx, qword [rsp + 0x178]
mov rdx, rbp
mov qword [0x140106d88], rbp
call qword [sym.imp.USER32.dll_SetParent]
mov rax, qword [0x140106d88]
mov r14d, 0x110
mov r15d, 0x44f
cmp ebx, r14d
je 0x140038817
cmp ebx, r15d
je 0x140038817
cmp rbp, rsi
je 0x140038817
cmp rax, rsi
je 0x140038817
cmp rax, rbp
je 0x140038817
mov rcx, qword [rsp + 0x178]
mov rdx, rbp
mov qword [0x140106d88], rbp
call qword [sym.imp.USER32.dll_SetParent]
mov rax, qword [0x140106d88]
mov edi, 1
cmp ebx, r14d
ja 0x140038df7
je 0x140038b47
cmp ebx, 5
je 0x140038b29
cmp ebx, 0xf
je 0x140038a3a
cmp ebx, 0x14
je 0x14003886e
cmp ebx, 0x21
je 0x140038855
cmp ebx, 0x7e
je 0x140038e22
jmp 0x140038fbc
mov al, byte [0x140106d4c]
and al, 0x50
neg al
sbb rax, rax
and rax, 3
inc rax
jmp 0x140039175
mov qword [rsp + 0x98], rsi
cmp qword [0x140106d58], rsi
je 0x140038a2a
lea rdx, [rsp + 0x98]
mov rcx, r13
call qword [0x140106c58]
cmp eax, esi
jne 0x140038a2a
mov ebx, dword [0x140106d68]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r13d, dword [0x140106d6c]
mov ecx, edi
mov dword [0x140106d68], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebp, dword [0x140106d68]
mov r12d, eax
mov dword [0x140106d6c], eax
cmp ebx, ebp
jne 0x1400388da
mov r14d, esi
cmp r13d, eax
je 0x1400388dd
mov r14d, edi
test byte [0x140106d4c], 0x40
mov r15d, esi
mov r13d, esi
je 0x14003892b
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, edi
mov r15d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3d
mov r12d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3e
mov ebp, 0x12c
add r15d, 0xfffffed4
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea r13d, [rax - 0x50]
sub r12d, r13d
cmp r14d, esi
je 0x140038957
mov rcx, qword [rsp + 0x178]
mov dword [rsp + 0x30], 0x16
mov r9d, r13d
mov r8d, r15d
xor edx, edx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x140106d58]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x180], esi
call qword [0x140106ca0]
mov rcx, qword [0x140106d58]
lea rdx, [rsp + 0x180]
call qword [0x140106ca8]
movsxd rcx, dword [0x140106d6c]
mov r11d, dword [rsp + 0x180]
mov r10d, dword [rsp + 0x70]
movsxd rbx, dword [0x140106d68]
xor edx, edx
movsxd rax, r12d
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x50], 2
imul rax, r11
div rcx
xor edx, edx
mov rdi, rax
movsxd rax, ebp
mov dword [rsp + 0x48], edi
imul rax, r10
div rbx
xor edx, edx
mov r9, rax
movsxd rax, r13d
mov dword [rsp + 0x40], r9d
xor r9d, r9d
imul rax, r11
div rcx
mov rcx, qword [rsp + 0x98]
mov r8, rax
xor edx, edx
movsxd rax, r15d
mov dword [rsp + 0x38], r8d
xor r8d, r8d
imul rax, r10
div rbx
mov rdx, qword [0x140106d58]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebp
call qword [0x140106cb0]
mov ecx, 5
call qword [sym.imp.GDI32.dll_GetStockObject]
jmp 0x140039175
cmp rax, rsi
je 0x140038a5c
cmp rax, rbp
je 0x140038a5c
mov rcx, qword [rsp + 0x178]
mov rdx, rbp
mov qword [0x140106d88], rbp
call qword [sym.imp.USER32.dll_SetParent]
mov rcx, qword [rsp + 0x178]
lea rdx, [rsp + 0xb0]
call qword [sym.imp.USER32.dll_BeginPaint]
cmp byte [0x140106bfe], sil
jne 0x140038af6
cmp byte [0x140106bfb], sil
je 0x140038ac4
cmp byte [0x140106d4d], sil
je 0x140038ab4
mov rcx, qword [rsp + 0x178]
lea rax, [rsp + 0xa0]
lea rdx, [rsp + 0xa0]
mov qword [0x140106d70], rax
call qword [sym.imp.USER32.dll_GetClientRect]
jmp 0x140038ad2
lea rax, [0x140104208]
mov qword [0x140106d70], rax
jmp 0x140038ad2
lea rdx, [0x140106d60]
mov qword [0x140106d70], rdx
mov ecx, dword [0x140111008]
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, qword [0x140106d70]
mov rcx, qword [rsp + 0xb0]
mov r8, rax
call qword [sym.imp.USER32.dll_FillRect]
mov r8, qword [rsp + 0x178]
mov rdx, qword [rsp + 0xb0]
mov rcx, r12
call fcn.1400164f8
mov rcx, qword [rsp + 0x178]
lea rdx, [rsp + 0xb0]
call qword [sym.imp.USER32.dll_EndPaint]
jmp 0x140038fbc
cmp r13, rdi
jne 0x140038fbc
mov rcx, qword [rsp + 0x178]
mov edx, edi
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140038fbc
call fcn.14005410c
mov rcx, qword [rsp + 0x178]
mov ebx, 0xffffffec
mov edx, ebx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov rcx, qword [rsp + 0x178]
mov edx, ebx
bts rax, 0x1b
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
lea r12, [0x140107de8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea r8, str.LogohWnd
lea rdx, str.SOFTWAREPELOGON
mov rcx, 0xffffffff80000002
call fcn.14004fd0c
lea rax, [rsp + 0x178]
lea r9d, [rbx + 0x1f]
lea r8, str.LogohWnd
lea rdx, str.SOFTWAREPELOGON
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rax
call fcn.14004fc98
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11b, byte [0x140106a60]
and r11b, 0xc
cmp r11b, 8
jne 0x140038c00
mov rcx, qword [rsp + 0x178]
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, edi
mov dword [0x140106d68], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x140106d6c], eax
cmp byte [0x140106d4d], sil
je 0x140038c5f
mov eax, dword [0x140104214]
mov r9d, dword [0x14010420c]
mov r8d, dword [0x140104208]
mov rcx, qword [rsp + 0x178]
mov dword [rsp + 0x30], 0x14
mov dword [rsp + 0x28], eax
mov eax, dword [0x140104210]
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov qword [0x140106d88], 0xffffffffffffeffb
cmp rbp, rsi
je 0x140038c87
mov rcx, qword [rsp + 0x178]
mov rdx, rbp
mov qword [0x140106d88], rbp
call qword [sym.imp.USER32.dll_SetParent]
cmp byte [0x140104219], sil
movzx eax, word [0x14010421c]
mov ecx, 3
lea r9d, [rcx - 1]
mov ebx, 0xff
cmovge r9d, ecx
cmp ax, si
jl 0x140038cae
sub bl, al
mov edx, dword [0x140111008]
mov rcx, qword [rsp + 0x178]
or r9d, 2
mov r8b, bl
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
test byte [0x140106d4c], 0x40
mov ebp, dword [0x140106d68]
mov r13d, dword [0x140106d6c]
mov r14d, esi
mov ebx, esi
je 0x140038d22
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, edi
mov r14d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3d
mov r13d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3e
mov ebp, 0x12c
add r14d, 0xfffffed4
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ebx, [rax - 0x50]
sub r13d, ebx
mov rcx, qword [rsp + 0x178]
mov r9d, ebp
mov r8d, ebx
mov edx, r14d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_MoveWindow]
mov r11b, byte [0x140106d4c]
mov al, byte [0x140106d4b]
mov rcx, qword [rsp + 0x178]
and r11b, 0x10
neg al
sbb rdx, rdx
cmp r11b, sil
mov r9d, ebx
cmovne rdx, rdi
mov edi, 0x11
mov r8d, r14d
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetWindowPos]
cmp eax, esi
jne 0x140038dac
mov rcx, qword [rsp + 0x178]
mov dword [rsp + 0x30], edi
mov r9d, ebx
mov r8d, r14d
xor edx, edx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11, qword [rsp + 0x178]
mov rcx, r12
mov qword [0x140106d28], r11
mov qword [0x140106d30], r11
mov byte [0x140106d4a], 2
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x178]
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140038fbc
mov eax, ebx
sub eax, 0x111
je 0x140038f96
sub eax, 0x103
je 0x140038f8e
sub eax, 0x23b
je 0x140038f7e
cmp eax, edi
jne 0x140038fbc
lea r12, [0x140107de8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp ebx, 0x450
jne 0x140038ec8
lea rcx, [rsp + 0x90]
mov edx, 0x20a
call fcn.140056040
mov rbx, qword [rsp + 0x90]
lea rax, [rsp + 0x78]
mov word [rbx], si
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x74]
lea r8, str.LogoFile
lea rdx, str.SOFTWAREPELOGON
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x78], 0x412
mov qword [rsp + 0x20], rbx
call fcn.14004fbd8
mov ecx, esi
mov word [rbx + 0x410], si
cmp eax, esi
sete cl
cmp ecx, esi
je 0x140038ebb
cmp word [rbx], si
je 0x140038ebb
lea rcx, [0x140106ff0]
mov rdx, rbx
call fcn.140060284
lea rcx, [rsp + 0x90]
call fcn.14004ea6c
mov rbx, qword [0x140106ff0]
cmp rbx, rsi
je 0x140038f0a
cmp word [rbx], si
je 0x140038f0a
mov rcx, qword [0x140106d58]
cmp rcx, rsi
je 0x140038ef2
call qword [0x140106c50]
mov qword [0x140106d58], rsi
mov rax, qword [0x140106c68]
cmp rax, rsi
je 0x140038f0a
lea rdx, [0x140106d58]
mov rcx, rbx
call rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, edi
mov dword [0x140106d68], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x140106d6c], eax
cmp byte [0x140106d4d], sil
jne 0x140038f64
mov rcx, qword [rsp + 0x178]
mov dword [rsp + 0x30], 0x10
mov dword [rsp + 0x28], eax
mov eax, dword [0x140106d68]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [rsp + 0x178]
lea rdx, [0x140106d60]
mov r8d, edi
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x140038f85
mov byte [0x140106d4a], 7
mov byte [0x140106d4a], sil
jmp 0x140038fbc
mov rax, rsi
jmp 0x140039175
lea r12, [0x140107de8]
cmp r13, 0x66
je 0x1400390c8
cmp r13, 0x67
je 0x140038fc3
cmp r13, 2
jne 0x140038fbc
test byte [0x140106a60], 0xc
je 0x140038fc3
xor eax, eax
jmp 0x140039175
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [0x1401074f4], edi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r13, 0x67
jne 0x140038ff1
mov rax, qword [rsp + 0x190]
cmp rax, rsi
je 0x140038ff1
mov byte [rax], sil
cmp byte [0x140104219], sil
jge 0x1400390b0
test byte [0x140106a60], 2
jne 0x1400390b0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm7, xmm7
movss xmm8, dword [0x1400eeee4]
mov r13d, eax
mov ebx, 0xff
movaps xmm6, xmm7
movaps xmm0, xmm7
mulss xmm0, dword [0x1400eeee0]
divss xmm0, xmm8
cvttss2si rbp, xmm0
add ebp, r13d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, ebp
sub ecx, eax
cmp ecx, esi
jle 0x14003907d
mov rcx, qword [rsp + 0x178]
mov r8d, ebx
unpcklps xmm6, xmm6
mov r9d, 2
xor edx, edx
cvtps2pd xmm0, xmm6
addsd xmm0, qword [0x1400eeed8]
cvttsd2si rax, xmm0
sub r8b, al
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
addss xmm6, dword [0x1400eeed4]
addss xmm7, dword [0x1400eeed4]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub ebp, eax
cmp ebp, esi
jle 0x1400390a6
mov edx, edi
mov ecx, 0xb
call qword [sym.imp.KERNEL32.dll_SleepEx]
comiss xmm8, xmm6
jae 0x140039028
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
dec dword [0x1401074f4]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
and byte [0x140106a60], 0xfd
lea r8, str.LogohWnd
lea rdx, str.SOFTWAREPELOGON
mov rcx, 0xffffffff80000002
call fcn.14004fd0c
lea rcx, [0x140106ff0]
mov qword [0x140106d88], rsi
mov byte [0x140104219], 0xff
call fcn.14004ea6c
mov rcx, qword [0x140106d58]
cmp rcx, rsi
je 0x14003911e
call qword [0x140106c50]
mov rax, qword [0x140106d30]
mov rcx, r12
mov qword [0x140106d58], rsi
cmp rax, qword [0x140106d28]
mov qword [0x140106d28], rsi
mov byte [0x140106d4d], sil
cmove rax, rsi
mov qword [0x140106d30], rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov cl, byte [0x140107435]
call fcn.140054140
mov rcx, qword [rsp + 0x178]
mov edx, 8
call qword [sym.imp.USER32.dll_EndDialog]
cdqe
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret