Function at 0x4a4740
Capabilities:
Hide graphical window

Disassembly:
push 0xffffffffffffffff
push 0x58c38b
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x5e173c]
xor eax, esp
mov dword [esp + 0x140], eax
push esi
push edi
mov eax, dword [0x5e173c]
xor eax, esp
push eax
lea eax, [esp + 0x150]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esp + 0xc]
push eax
call fcn.00409ed0
push ecx
lea ecx, [esi + 4]
call fcn.004a5040
mov eax, dword [0x7e2178]
test al, 1
jne 0x4a47c7
or eax, 1
mov dword [0x7e2178], eax
mov dword [esp + 0x158], 0
call fcn.004175a0
push 0x59fdc0
call fcn.00565027
add esp, 4
mov dword [esp + 0x158], 0xffffffff
cmp byte [0x7e2305], 0
je 0x4a47dd
lea ecx, [esi + 4]
call fcn.004ac1b0
jmp 0x4a490b
push 5
push dword [esi + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SetFocus]
push 0
push 0x400
push 0x400
xorps xmm0, xmm0
mov dword [esp + 0xfc], 0
push 0
lea eax, [esp + 0x100]
movq qword [esp + 0x114], xmm0
push eax
movdqu xmmword [esp + 0x108], xmm0
call dword [sym.imp.USER32.dll_PeekMessageW]
push 0
push 0
push 0
lea eax, [esp + 0xfc]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x4a490b
push dword [esi + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a490b
mov eax, dword [esp + 0xf4]
cmp eax, 0x201
je 0x4a4886
cmp eax, 0x203
je 0x4a4886
cmp eax, 0x100
je 0x4a4886
cmp eax, 0x104
jne 0x4a489a
lea eax, [esp + 0xf0]
push eax
lea ecx, [esi + 4]
call fcn.004a9b60
test al, al
je 0x4a48ef
lea eax, [esp + 0xf0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xf0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [esp + 0xf4]
cmp eax, 0x102
je 0x4a48e7
cmp eax, 0x106
je 0x4a48e7
cmp eax, 0x103
je 0x4a48e7
cmp eax, 0x107
je 0x4a48e7
cmp eax, 0x109
je 0x4a48e7
cmp eax, 0xffff
jne 0x4a48ef
lea ecx, [esi + 4]
call fcn.004aa0c0
push 0
push 0
push 0
lea eax, [esp + 0xfc]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x4a4852
mov al, byte [esi + 0x1dc]
test al, al
jne 0x4a4934
push dword [esi + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4ed2
push dword [esi + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4a4ed2
mov al, byte [esi + 0x1d0]
lea ecx, [esi + 4]
sub esp, 0x18
mov byte [esi + 0x20b], al
mov eax, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004a45d0
mov dword [esp + 0x170], 1
lea ecx, [esi + 0x1f8]
mov dword [esp + 0x170], 0xffffffff
call fcn.004a3fc0
mov al, byte [esi + 0x1b0]
xorps xmm0, xmm0
mov byte [esi + 0x208], al
mov al, byte [esi + 0x1b1]
mov byte [esi + 0x209], al
mov al, byte [esi + 0x1b2]
mov byte [esi + 0x20a], al
mov al, byte [esi + 0x1b4]
mov byte [esi + 0x20d], al
mov al, byte [esi + 0x1b5]
mov byte [esi + 0x20e], al
mov al, byte [esi + 0x1b3]
movq qword [esp + 0x140], xmm0
mov dword [esp + 0x148], 0
mov byte [esi + 0x20c], al
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x158], 2
lea eax, [esp + 0x140]
push eax
lea ecx, [esi + 4]
call fcn.004abf50
lea eax, [esp + 0x140]
push eax
lea ecx, [esi + 0x1f8]
call fcn.004196b0
push 0x34
lea eax, [esp + 0x110]
push 0
push eax
call fcn.0056cbb0
add esp, 0xc
lea ecx, [esp + 0x10c]
call fcn.004a51c0
mov byte [esp + 0x158], 3
mov eax, dword [0x7e2178]
test al, 1
jne 0x4a4a7c
or eax, 1
mov dword [0x7e2178], eax
mov byte [esp + 0x158], 4
call fcn.004175a0
push 0x59fdc0
call fcn.00565027
add esp, 4
mov byte [esp + 0x158], 3
cmp byte [0x7e2305], 0
mov edi, dword [esp + 0x144]
jne 0x4a4b11
mov eax, dword [esp + 0x140]
xor edx, edx
cmp eax, edi
je 0x4a4aaf
lea ecx, [ecx]
add edx, dword [eax + 0x9c]
add eax, 0xc0
cmp eax, edi
jne 0x4a4aa0
sub esp, 8
mov dword [esp + 0x134], edx
lea ecx, [esp + 0x114]
call fcn.004a50c0
push 5
push dword [esp + 0x114]
call dword [sym.imp.USER32.dll_ShowWindow]
mov al, byte [esi + 0x1d1]
test al, al
je 0x4a4af7
push 0
push 0xf022
push 0x112
push dword [esp + 0x11c]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_SetFocus]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4b27
push dword [esi + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
lea ecx, [esi + 0x1f8]
call fcn.00419830
push 0
push 0x64
push 0
push 0
call dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0
xorps xmm0, xmm0
mov dword [esp + 0xc0], 0
push 0
lea eax, [esp + 0xc4]
movq qword [esp + 0xd8], xmm0
push eax
movdqu xmmword [esp + 0xcc], xmm0
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x4a4c64
lea esp, [esp]
cmp byte [esp + 0x130], 0
je 0x4a4bb7
cmp byte [0x7e2120], 0
jne 0x4a4bb7
mov byte [0x7e2120], 1
lea ecx, [esi + 0x273]
mov al, 1
xchg byte [ecx], al
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [esp + 0x114]
call edi
jmp 0x4a4bbd
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x228]
test eax, eax
je 0x4a4bd4
mov eax, dword [eax + 8]
test eax, eax
je 0x4a4bd4
cmp byte [eax + 8], 0
jne 0x4a4bef
mov eax, dword [esi + 0x22c]
test eax, eax
je 0x4a4c5d
mov eax, dword [eax + 8]
test eax, eax
je 0x4a4c5d
cmp byte [eax + 8], 0
je 0x4a4c5d
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4c25
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4a4c25
cmp byte [esp + 0x130], al
jne 0x4a4c25
push 5
push dword [esp + 0x114]
call edi
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x4a4b80
mov edi, dword [esp + 0x144]
mov eax, dword [0x7e2178]
test al, 1
jne 0x4a4c97
or eax, 1
mov dword [0x7e2178], eax
mov byte [esp + 0x158], 5
call fcn.004175a0
push 0x59fdc0
call fcn.00565027
add esp, 4
mov byte [esp + 0x158], 3
cmp byte [0x7e2305], 0
jne 0x4a4e42
cmp byte [esp + 0x130], 0
jne 0x4a4e42
push 0x90
lea eax, [esp + 0x28]
push 0
push eax
call fcn.0056cbb0
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.004a1840
mov byte [esp + 0x158], 6
mov dword [esp + 0x24], vtable.RC::RCPackagesMsgBox_class_RC::RCPackagesMsgBoxFinish_.0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov byte [esp + 0x158], 7
sub esp, 8
lea ecx, [esp + 0x2c]
call fcn.004a5140
push 5
push dword [esp + 0x2c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esp + 0x28]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [esp + 0x28]
call dword [sym.imp.USER32.dll_SetFocus]
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4d52
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push 0
xorps xmm0, xmm0
mov dword [esp + 0xdc], 0
push 0
lea eax, [esp + 0xe0]
movq qword [esp + 0xf4], xmm0
push eax
movdqu xmmword [esp + 0xe8], xmm0
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x4a4e17
mov esi, dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x4a4da0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
je 0x4a4dbb
push eax
push ecx
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x4a4de3
cmp dword [esp + 0xd8], 0x104
jne 0x4a4de3
cmp dword [esp + 0xdc], 0x46
jne 0x4a4de3
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
call esi
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x4a4da0
push dword [esp + 0x28]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4e2f
push dword [esp + 0x28]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov byte [esp + 0x158], 3
lea ecx, [esp + 0x24]
call fcn.004a5560
jmp 0x4a4e60
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a4e60
push dword [esp + 0x110]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov byte [esp + 0x158], 2
lea ecx, [esp + 0x10c]
call fcn.004a5270
mov dword [esp + 0x158], 0xffffffff
mov eax, dword [esp + 0x140]
test eax, eax
je 0x4a4ed2
mov esi, eax
cmp eax, edi
je 0x4a4ea8
mov ecx, esi
call fcn.0040ba40
add esi, 0xc0
cmp esi, edi
jne 0x4a4e90
mov eax, dword [esp + 0x140]
push eax
call fcn.00564de3
add esp, 4
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov al, 1
mov ecx, dword [esp + 0x150]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.00564de8
add esp, 0x150
ret