Function at 0x428c80
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50ac14
mov eax, dword fs:[0]
push eax
sub esp, 0x208
mov eax, dword [0x53b0f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 1
jle 0x4295f2
push str.Enter_into_main_entry...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
call fcn.00418e20
add esp, 4
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
lea ecx, [ebp - 0x2c]
call fcn.00423820
mov dword [ebp - 4], 0
push str.UninstallGames
lea ecx, [ebp - 0x64]
call fcn.00423890
mov byte [ebp - 4], 1
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00422500
test eax, eax
jne 0x428d15
mov dword [ebp - 0xfc], 1
jmp 0x428d1f
mov dword [ebp - 0xfc], 0
mov cl, byte [ebp - 0xfc]
mov byte [ebp - 0xf1], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.00422090
movzx edx, byte [ebp - 0xf1]
test edx, edx
je 0x428da3
push str.Start_to_uninstall_games...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp + 8], 2
jle 0x428d7b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c4], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
call fcn.004270c0
add esp, 0x1c
jmp 0x428d98
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push 0x511144
call fcn.00423890
call fcn.004270c0
add esp, 0x1c
push str.End_to_uninstall_games...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.UninstallSoftwareFeedback
lea ecx, [ebp - 0x80]
call fcn.00423890
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00422500
test eax, eax
jne 0x428dd0
mov dword [ebp - 0x100], 1
jmp 0x428dda
mov dword [ebp - 0x100], 0
mov dl, byte [ebp - 0x100]
mov byte [ebp - 0xf2], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.00422090
movzx eax, byte [ebp - 0xf2]
test eax, eax
je 0x428ecb
push str.Start_to_uninstall_software_feedback...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp + 8], 5
jle 0x428ebb
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fc], esp
mov edx, 4
imul eax, edx, 5
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x204], esp
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20c], esp
mov eax, 4
imul edx, eax, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x114], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov byte [ebp - 4], 0
call fcn.004276f0
add esp, 0x70
push str.End_to_uninstall_software_feedback...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4295d3
push str.InstallSoftware
lea ecx, [ebp - 0x9c]
call fcn.00423890
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00422500
test eax, eax
jne 0x428efe
mov dword [ebp - 0x104], 1
jmp 0x428f08
mov dword [ebp - 0x104], 0
mov dl, byte [ebp - 0x104]
mov byte [ebp - 0xf3], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9c]
call fcn.00422090
movzx eax, byte [ebp - 0xf3]
test eax, eax
je 0x428f75
push str.Start_to_install_software...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp + 8], 2
jle 0x428f65
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x118], esp
mov edx, 4
shl edx, 1
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
call fcn.00427a60
add esp, 0x1c
push str.End_to_install_software...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4295d3
push str.UninstallSoftware
lea ecx, [ebp - 0xb8]
call fcn.00423890
mov byte [ebp - 4], 7
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00422500
test eax, eax
jne 0x428fa8
mov dword [ebp - 0x108], 1
jmp 0x428fb2
mov dword [ebp - 0x108], 0
mov cl, byte [ebp - 0x108]
mov byte [ebp - 0xf4], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb8]
call fcn.00422090
movzx edx, byte [ebp - 0xf4]
test edx, edx
je 0x4290ec
push str.Start_to_uninstall_software...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp + 8], 2
jle 0x42905a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0x511096
call fcn.00423820
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x124], esp
push 0x511097
call fcn.00423820
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 9
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x12c], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov byte [ebp - 4], 0
call fcn.00427a70
add esp, 0x54
jmp 0x4290dc
cmp dword [ebp + 8], 4
jle 0x4290dc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x130], esp
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x138], esp
mov eax, 4
imul edx, eax, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 0xb
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x140], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov byte [ebp - 4], 0
call fcn.00427a70
add esp, 0x54
push str.End_to_uninstall_software...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4295d3
push str.PostInstallEvent
lea ecx, [ebp - 0xd4]
call fcn.00423890
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00422500
test eax, eax
jne 0x42911f
mov dword [ebp - 0x10c], 1
jmp 0x429129
mov dword [ebp - 0x10c], 0
mov dl, byte [ebp - 0x10c]
mov byte [ebp - 0xf5], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.00422090
movzx eax, byte [ebp - 0xf5]
test eax, eax
je 0x4295d3
cmp dword [ebp + 8], 9
jl 0x4294a3
push 0x5113a4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
lea ecx, [ebp - 0x48]
call fcn.00423820
mov byte [ebp - 4], 0xd
push str.gamecustom
lea ecx, [ebp - 0xf0]
call fcn.00423890
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xf0]
push ecx
lea ecx, [ebp - 0x48]
call fcn.00422500
test eax, eax
jne 0x4291b6
mov dword [ebp - 0x110], 1
jmp 0x4291c0
mov dword [ebp - 0x110], 0
mov dl, byte [ebp - 0x110]
mov byte [ebp - 0xf6], dl
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xf0]
call fcn.00422090
movzx eax, byte [ebp - 0xf6]
test eax, eax
je 0x42933b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x144], esp
mov edx, 4
imul eax, edx, 0xb
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0xf
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14c], esp
mov edx, 4
imul eax, edx, 0xa
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x154], esp
mov edx, 4
imul eax, edx, 9
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x158], eax
mov byte [ebp - 4], 0x11
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x15c], esp
mov edx, 4
shl edx, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x160], eax
mov byte [ebp - 4], 0x12
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x164], esp
mov eax, 4
imul edx, eax, 7
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x13
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x16c], esp
mov eax, 4
imul edx, eax, 6
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x170], eax
mov byte [ebp - 4], 0x14
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x174], esp
mov eax, 4
imul edx, eax, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0x15
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x17c], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov byte [ebp - 4], 0xd
call fcn.00427fc0
add esp, 0xe0
jmp 0x429487
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x180], esp
mov edx, 4
imul eax, edx, 9
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x184], eax
mov byte [ebp - 4], 0x16
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x188], esp
mov edx, 4
shl edx, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x18c], eax
mov byte [ebp - 4], 0x17
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x190], esp
mov eax, 4
imul edx, eax, 7
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 0x18
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x198], esp
mov eax, 4
imul edx, eax, 6
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0x19
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1a0], esp
mov eax, 4
imul edx, eax, 5
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x1a4], eax
mov byte [ebp - 4], 0x1a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1a8], esp
mov eax, 4
shl eax, 2
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 4], 0x1b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1b0], esp
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x1c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1b8], esp
mov edx, 4
shl edx, 1
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov byte [ebp - 4], 0xd
call fcn.00427fc0
add esp, 0xe0
push 0x5113fc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00422090
jmp 0x4295d3
cmp dword [ebp + 8], 4
jl 0x4295d3
push str.Start_to_post_install_event...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1bc], esp
push 0x511478
call fcn.00423890
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0x1d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ec], esp
push 0x51147c
call fcn.00423890
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 4], 0x1e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1cc], esp
push 0x511480
call fcn.00423890
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 4], 0x1f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1d4], esp
push 0x511484
call fcn.00423890
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 4], 0x20
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1dc], esp
push 0x511488
call fcn.00423890
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x21
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e4], esp
push 0x51148c
call fcn.00423890
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 0x22
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x214], esp
mov eax, 4
imul edx, eax, 3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx]
push edx
call fcn.00423820
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 4], 0x23
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f4], esp
mov eax, 4
shl eax, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
push eax
call fcn.00423820
mov byte [ebp - 4], 0
call fcn.00427fc0
add esp, 0xe0
push str.End_to_post_install_event...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.Exit_main_entry...
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call fcn.00418f10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00422090
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00434475
mov esp, ebp
pop ebp
ret