Function at 0x5d544621
Capabilities:
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x868
mov eax, dword [0x5d560624]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x854], edx
mov eax, edx
mov dword [ebp - 0x85c], edi
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x844], eax
lea esi, [edi + 0x34]
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x860], edx
mov dword [ebp - 0x84c], esi
cmp dword [edi + 0xc], edx
jne 0x5d544689
test dword [esi], 0x400000
je 0x5d54468f
push 0x77
pop edi
mov esi, 0x80004005
jmp 0x5d544d18
mov dword [ebp - 0x84c], esi
call fcn.5d5451d6
test eax, eax
jne 0x5d54469c
push 0x7c
jmp 0x5d54467e
push 0x7f02
push edx
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push ebx
mov dword [ebp - 0x860], eax
call fcn.5d544f99
test byte [esi], 0x10
je 0x5d5446d6
cmp dword [edi + 0xc], 0
je 0x5d544920
test dword [esi], 0x400000
jne 0x5d544920
push 0x3ed
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x178a
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x834]
sub eax, dword [ebp - 0x83c]
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x848], eax
jne 0x5d54479d
push 0x3ec
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x834]
sub eax, dword [ebp - 0x83c]
add eax, dword [ebp - 0x848]
push 0x16
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
xor eax, eax
push eax
push eax
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x5d54491a
push 0x3e8
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x834]
sub eax, dword [ebp - 0x83c]
mov edi, dword [ebp - 0x848]
add eax, edi
push 0x16
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
xor eax, eax
push eax
push eax
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x1798
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x834]
sub eax, dword [ebp - 0x83c]
push 0x16
add eax, edi
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
xor eax, eax
push eax
push eax
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
xor eax, eax
mov dword [ebp - 0x830], 0x3e9
mov dword [ebp - 0x82c], 0x3ea
mov dword [ebp - 0x828], 0x178b
mov dword [ebp - 0x824], 0x3eb
mov dword [ebp - 0x820], 0x3f2
mov dword [ebp - 0x81c], 0x3f1
mov dword [ebp - 0x818], 0x1788
mov dword [ebp - 0x814], 0x3f0
mov dword [ebp - 0x810], 0x3ec
mov dword [ebp - 0x848], eax
push dword [ebp + eax*4 - 0x830]
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x83c]
xor ecx, ecx
push 0x15
push ecx
push ecx
add eax, edi
push eax
push dword [ebp - 0x840]
push ecx
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebp - 0x848]
inc eax
mov dword [ebp - 0x848], eax
cmp eax, 9
jb 0x5d5448b5
mov edi, dword [ebp - 0x85c]
mov esi, dword [ebp - 0x84c]
mov edx, dword [esi]
mov ecx, edx
mov eax, dword [edi + 0x84]
and ecx, 0x200010
sub ecx, 0x10
mov dword [ebp - 0x848], eax
mov eax, dword [edi + 0xac]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
inc ecx
shl ecx, 3
or ecx, eax
test byte [edi + 0x60], 2
mov dword [edi + 0xac], ecx
je 0x5d544977
push 0
push 0x3e8
or edx, 8
push ebx
mov dword [esi], edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x5d544c4d
push ebx
mov ecx, edi
call fcn.5d544516
mov esi, eax
test esi, esi
js 0x5d544d12
mov ecx, dword [edi + 4]
push 0
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x858]
push eax
push 4
push ecx
mov ecx, esi
call dword [0x5d562560]
call esi
mov esi, eax
cmp esi, 1
jne 0x5d5449b8
mov esi, 0x80004005
jmp 0x5d544d12
test esi, esi
js 0x5d544d4f
push 0
push 0x3ed
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
and dword [ebp - 0x848], 0
cmp dword [ebp - 0x858], 0
je 0x5d544b18
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0x868]
push eax
push dword [ebp - 0x858]
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
test eax, eax
je 0x5d544b18
mov eax, dword [ebp - 0x84c]
mov esi, dword [eax]
test esi, 0x20000000
je 0x5d544b18
mov ecx, dword [ebp - 0x848]
call fcn.5d53f1df
test eax, eax
je 0x5d544b18
test esi, 0x400000
je 0x5d544b18
push 0x178b
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x3eb
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [ebp - 0x840]
mov dword [edi + 0xc8], 1
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x834]
sub eax, dword [ebp - 0x83c]
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x850], eax
jne 0x5d544abc
push 0x3ec
jmp 0x5d544ac1
push 0x3e8
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x850]
sub eax, dword [ebp - 0x83c]
add eax, dword [ebp - 0x834]
push 0x16
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
xor eax, eax
push eax
push eax
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
lea eax, [ebp - 0x858]
mov ecx, edi
push eax
push ebx
call fcn.5d546939
mov esi, eax
mov dword [ebp - 0x854], esi
test esi, esi
js 0x5d544d12
cmp dword [edi + 0xc], 0
jne 0x5d544c47
push 0x3f5
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
xor edi, edi
push eax
push ebx
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0x15
push edi
push edi
push 7
push dword [ebp - 0x840]
push edi
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, dword [ebp - 0x834]
sub edi, dword [ebp - 0x83c]
push 0x3e8
push ebx
add edi, 0xb
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x834]
push 0x14
sub eax, edi
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
push edi
push dword [ebp - 0x840]
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x1798
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x840]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x834]
push 0x14
sub eax, edi
push eax
mov eax, dword [ebp - 0x838]
sub eax, dword [ebp - 0x840]
push eax
push edi
push dword [ebp - 0x840]
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, dword [ebp - 0x85c]
mov esi, dword [ebp - 0x84c]
test byte [esi], 8
je 0x5d544c71
push 0
push 0x3e9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push ebx
mov ecx, edi
call fcn.5d543f1d
test dword [esi], 0x400000
je 0x5d544ce2
push 0x3e9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x3ea
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [edi + 0xc8], 0
jne 0x5d544ce2
push 0x178b
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [edi + 0xc0], 0
jne 0x5d544d0c
call dword [sym.imp.ntdll.dll_WinSqmIsOptedIn]
test eax, eax
je 0x5d544d0c
xor esi, esi
inc esi
push esi
push 0x2146
push 0
call dword [sym.imp.ntdll.dll_WinSqmIncrementDWORD]
mov dword [edi + 0xc0], esi
mov esi, dword [ebp - 0x854]
mov edi, dword [ebp - 0x844]
push dword [ebp - 0x858]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x860]
call dword [sym.imp.USER32.dll_SetCursor]
test esi, esi
jns 0x5d544d3b
push edi
push ebx
call fcn.5d540e02
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.5d50eed0
leave
ret 4
cmp esi, 0x80070005
jne 0x5d544d12
cmp dword [edi + 0xc], 0
mov esi, dword [ebp - 0x84c]
mov dword [edi + 0xb4], 2
je 0x5d544e00
test dword [esi], 0x400000
je 0x5d544e00
push 0x78
push 0x19
push ebx
mov ecx, edi
call fcn.5d541de4
test byte [esi], 3
setne cl
test byte [esi], 0x10
setne al
test al, cl
je 0x5d544df9
test dword [esi], 0x20000000
je 0x5d544def
push 0
push 0x3eb
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
push 0x400
mov word [ebp - 0x80c], ax
lea eax, [ebp - 0x80c]
push eax
push 0x9f
push dword [0x5d560df4]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x80c]
push eax
push 0x3f4
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
push ebx
mov ecx, edi
call fcn.5d5470eb
xor esi, esi
jmp 0x5d544d12
cmp dword [ebp - 0x848], 1
je 0x5d544e47
lea eax, [ebp - 0x85c]
mov ecx, edi
push eax
lea eax, [ebp - 0x850]
push eax
push ebx
call fcn.5d54510e
test eax, eax
mov eax, dword [ebp - 0x850]
mov dword [ebp - 0x844], eax
je 0x5d544e47
push 0
push eax
push ebx
mov ecx, edi
call fcn.5d541de4
cmp dword [ebp - 0x85c], 0
je 0x5d544df9
push 1
jmp 0x5d544df1
push 0
push ebx
mov ecx, edi
call fcn.5d543f1d
xor eax, eax
mov dword [ebp - 0x854], eax
jmp 0x5d544c4d