Function at 0x407bd0
Capabilities:
Hide graphical window
Resolve function by parsing pe exports
Shutdown system

Disassembly:
push 0xffffffffffffffff
push 0x4332e0
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x446050]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x446050]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x88]
mov ebx, ecx
mov esi, edx
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], edi
mov byte [esp + 0x40], 0
mov dword [esp + 0x80], edi
mov ecx, str.install
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407c56
test dl, dl
je 0x407c52
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407c56
add eax, 2
add ecx, 2
test dl, dl
jne 0x407c36
xor eax, eax
jmp 0x407c5b
sbb eax, eax
sbb eax, 0xffffffff
mov edi, 0x10
test eax, eax
je 0x407e23
mov ecx, str.upgrade
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407c90
test dl, dl
je 0x407c8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407c90
add eax, 2
add ecx, 2
test dl, dl
jne 0x407c70
xor eax, eax
jmp 0x407c95
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407e23
mov ecx, str.remove
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407cc4
test dl, dl
je 0x407cc0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407cc4
add eax, 2
add ecx, 2
test dl, dl
jne 0x407ca4
xor eax, eax
jmp 0x407cc9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x407da5
add ebx, 0x24
lea eax, [esp + 0x20]
push ebx
push eax
mov ecx, 0x43794c
call fcn.0040a900
add esp, 8
mov byte [esp + 0x80], 3
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x48]
call fcn.004096e0
mov byte [esp + 0x80], 0
cmp dword [esp + 0x38], edi
jb 0x407d18
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0042019e
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
cmp dword [esp + 0x54], edi
jae 0x407d3b
lea eax, [esp + 0x40]
push eax
mov bl, 1
mov esi, ebp
call fcn.00406d20
mov ecx, dword [esp + 0x14]
call fcn.00404310
mov edx, dword [ebp + 4]
push 0x4364e7
push 0x41e
mov edi, eax
push edx
mov dword [esp + 0x24], edi
mov byte [ebp + 0x1c], 0
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebp + 4]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x4b
push 0
push 0x40a
push 0x3eb
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 4]
push 0
push 0x3eb
push ecx
call esi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x407ff3
mov ecx, str.configure
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407dd0
test dl, dl
je 0x407dcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407dd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407db0
xor eax, eax
jmp 0x407dd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x407e15
cmp dword [ebx + 0x90], edi
jb 0x407de6
mov ecx, dword [ebx + 0x7c]
jmp 0x407de9
lea ecx, [ebx + 0x7c]
call fcn.0040e300
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x408016
mov dword [esp + 0x80], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00409320
jmp 0x408242
mov edi, 0x16
mov dword [esp + 0x18], edi
jmp 0x40801d
test byte [ebx + 4], 2
je 0x407e72
add ebx, 0x24
lea eax, [esp + 0x20]
push ebx
push eax
mov ecx, str.Upgrading
mov dword [esp + 0x24], str.upgrade
call fcn.0040a900
add esp, 8
mov byte [esp + 0x80], 1
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x48]
call fcn.004096e0
mov byte [esp + 0x80], 0
cmp dword [esp + 0x38], edi
jb 0x407ec1
mov ecx, dword [esp + 0x24]
push ecx
jmp 0x407eb9
add ebx, 0x24
lea edx, [esp + 0x20]
push ebx
push edx
mov ecx, str.Installing
mov dword [esp + 0x24], str.install
call fcn.0040a900
add esp, 8
mov byte [esp + 0x80], 2
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x48]
call fcn.004096e0
mov byte [esp + 0x80], 0
cmp dword [esp + 0x38], edi
jb 0x407ec1
mov eax, dword [esp + 0x24]
push eax
call fcn.0042019e
add esp, 4
cmp dword [esp + 0x54], edi
mov edi, dword [esp + 0x40]
mov byte [esp + 0x24], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
jae 0x407ee4
lea edi, [esp + 0x40]
mov byte [ebp + 0x1c], 1
test edi, edi
je 0x407ef3
cmp byte [edi], 0
mov eax, edi
jne 0x407ef8
mov eax, 0x4364e7
mov ecx, dword [ebp + 4]
push eax
push 0x41e
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
test edi, edi
je 0x407f18
cmp byte [edi], 0
je 0x407f18
mov eax, 1
jmp 0x407f1a
xor eax, eax
mov edx, dword [ebp + 4]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x4b
push eax
push 0x40a
push 0x3eb
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test edi, edi
je 0x407f47
cmp byte [edi], 0
je 0x407f47
mov al, 1
jmp 0x407f49
xor al, al
mov ecx, dword [ebp + 4]
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
push eax
push 0x3eb
push ecx
call esi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call ebx
test edi, edi
je 0x407f75
cmp byte [edi], 0
je 0x407f75
mov al, 1
jmp 0x407f77
xor al, al
movzx edx, al
mov eax, dword [ebp + 4]
neg edx
sbb edx, edx
and edx, 5
push edx
push 0x41e
push eax
call esi
push eax
call ebx
mov eax, dword [ebp + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00403860
mov edx, dword [ebp + 4]
push 0x4364e7
push 0x41e
mov edi, eax
push edx
mov dword [esp + 0x24], edi
mov byte [ebp + 0x1c], 0
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebp + 4]
push 0x4b
push 0
push 0x40a
push 0x3eb
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 4]
push 0
push 0x3eb
push ecx
call esi
push eax
call ebx
mov edx, dword [ebp + 4]
push 0
push 0x41e
push edx
call esi
push eax
call ebx
mov eax, dword [ebp + 4]
push 1
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ebx, dword [esp + 0x14]
cmp edi, 0x20
ja 0x408083
je 0x408029
mov eax, edi
sub eax, 0
je 0x408049
sub eax, 2
jne 0x40808f
mov dword [esp + 0x80], 0xffffffff
cmp dword [esp + 0x54], 0x10
jb 0x40822d
mov eax, dword [esp + 0x40]
push eax
jmp 0x408225
cmp dword [ebx + 0x3c], 0x10
jb 0x408054
mov ecx, dword [ebx + 0x28]
jmp 0x408057
lea ecx, [ebx + 0x28]
mov eax, dword [ebp + 4]
push 0
push ecx
push 0x10040
push eax
mov edi, 0x436b2c
mov ecx, str.The_operation_completed_successfully.
call fcn.0041a340
add esp, 0x10
push 0
mov ecx, ebp
call fcn.00406e00
jmp 0x407dfc
cmp edi, 0xbc2
je 0x4081b4
mov ecx, edi
lea esi, [esp + 0x58]
call fcn.00416250
mov bl, 4
mov byte [esp + 0x80], bl
cmp dword [esp + 0x70], 0x10
mov ecx, dword [esp + 0x5c]
jae 0x4080b2
lea ecx, [esp + 0x5c]
mov eax, dword [esp + 0x14]
mov esi, 0x10
cmp dword [eax + 0x3c], esi
jb 0x4080c5
mov eax, dword [eax + 0x28]
jmp 0x4080c8
add eax, 0x28
push ecx
mov ecx, dword [esp + 0x20]
push edi
push eax
push ecx
push str.Setup_could_not__s__s._Error__u:__s.
lea ecx, [esp + 0x34]
call fcn.004172c0
add esp, 0x14
mov byte [esp + 0x80], 5
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x48]
call fcn.004096e0
mov byte [esp + 0x80], bl
cmp dword [esp + 0x38], esi
jb 0x408111
mov edx, dword [esp + 0x24]
push edx
call fcn.0042019e
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
cmp dword [esp + 0x54], esi
jae 0x408134
lea ecx, [esp + 0x40]
mov ebp, dword [ebp + 4]
xor ebx, ebx
push ebx
push str.Operation_failed
push 0x30
push ebp
mov edi, 0x436b2c
call fcn.0041a340
add esp, 0x10
mov byte [esp + 0x80], bl
mov esi, 0x10
cmp dword [esp + 0x70], esi
jb 0x40816e
mov eax, dword [esp + 0x5c]
push eax
call fcn.0042019e
add esp, 4
mov edi, 0xf
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], 0
mov dword [esp + 0x80], 0xffffffff
cmp dword [esp + 0x54], esi
jb 0x40819e
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0042019e
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], 0
jmp 0x408244
cmp byte [0x449dbc], 0
jne 0x40820e
mov eax, dword [ebp + 4]
push 0
push str.Restart_required
push 0x10044
push eax
mov edi, 0x436b2c
mov ecx, str.The_operation_was_successful__but_you_must_reboot_your_machine_to_complete_setup._Do_you_want_to_reboot_now_
mov byte [0x449dbc], 1
call fcn.0041a340
add esp, 0x10
cmp eax, 6
jne 0x408205
push 0x80040002
push 1
push 0
push 0
push str.Domain_Time_II_Software_installation
push 0
call dword [sym.imp.ADVAPI32.dll_InitiateSystemShutdownExA]
jmp 0x40820e
push 0
mov ecx, ebp
call fcn.00406e00
mov dword [esp + 0x80], 0xffffffff
cmp dword [esp + 0x54], 0x10
jb 0x40822d
mov edx, dword [esp + 0x40]
push edx
call fcn.0042019e
add esp, 4
mov byte [esp + 0x40], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0041f826
add esp, 0x70
ret 4