Function at 0x41a15a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x463ab1
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x488180]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x488180]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 0x188]
xor ebx, ebx
push str.Bootstrapper::uninstall
mov dword [esp + 0x4c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], esi
call fcn.0040939b
xor eax, eax
cmp byte [ebp + 8], bl
pop ecx
sete al
mov dword [esp + 0x28], ebx
add eax, 0x80000001
mov dword [esp + 0x24], eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0xd0], 1
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
cmp dword [eax + 0x18], 8
jb 0x41a204
mov eax, dword [eax + 4]
jmp 0x41a207
add eax, 4
push eax
push dword [esp + 0x28]
mov eax, 0x20019
lea ecx, [esp + 0x24]
call fcn.0040cfe9
push ebx
test eax, eax
push 1
lea esi, [esp + 0x90]
setne byte [esp + 0x1b]
call fcn.00409a53
cmp byte [esp + 0x13], bl
je 0x41a27d
mov eax, str.per_user
cmp byte [ebp + 8], bl
jne 0x41a245
mov eax, str.all_users
mov esi, dword [esp + 0x14]
push eax
push str.Uninstall__s_nothing_to_do
call fcn.0040939b
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ecx
pop ecx
cmp dword [esp + 0x1c], ebx
je 0x41a268
push dword [esp + 0x1c]
call esi
cmp dword [esp + 0x24], ebx
je 0x41a7aa
push dword [esp + 0x24]
call esi
jmp 0x41a7aa
mov byte [esp + 0xd0], bl
cmp dword [esp + 0x1c], ebx
je 0x41a294
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, str.per_user
cmp byte [ebp + 8], bl
jne 0x41a2a3
mov eax, str.all_users
mov esi, dword [esp + 0x14]
push eax
push str.Uninstall__s
call fcn.0040939b
mov eax, dword [edi]
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x34], esp
push ecx
mov ecx, edi
call dword [eax + 0xa0]
mov ecx, edi
call fcn.004185d8
mov eax, dword [edi]
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call dword [eax + 0x78]
mov byte [esp + 0xd0], 2
cmp dword [eax + 0x18], 8
jb 0x41a2ef
mov eax, dword [eax + 4]
jmp 0x41a2f2
add eax, 4
mov esi, dword [esp + 0x14]
push eax
push str.Deleting_HKCUSoftware_S
call fcn.0040939b
pop ecx
pop ecx
push ebx
push 1
lea esi, [esp + 0x90]
call fcn.00409a53
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
push 0x46bc6c
mov byte [esp + 0xd4], 3
push dword [esp + 0x28]
mov eax, 0x20006
lea ecx, [esp + 0x24]
call fcn.0040cfe9
test eax, eax
je 0x41a365
mov esi, dword [esp + 0x14]
push str.WARNING:_Failed_to_open_HKSoftware
call fcn.0040939b
pop ecx
cmp dword [esp + 0x1c], ebx
je 0x41a35c
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esp + 0x24], ebx
jmp 0x41a79e
mov eax, dword [edi]
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call dword [eax + 0x9c]
lea esi, [edi + 0xfc]
push esi
lea ecx, [esp + 0xa8]
call fcn.004084ee
push 0x46985d
mov ecx, esi
mov byte [esp + 0xd4], 4
call fcn.004096d2
mov esi, dword [esp + 0x14]
push str.Remove_from_Add_Remove_programs
call fcn.0040939b
mov eax, dword [edi]
pop ecx
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
cmp dword [eax + 0x18], 8
jb 0x41a3c7
mov eax, dword [eax + 4]
jmp 0x41a3ca
add eax, 4
push eax
lea esi, [esp + 0x28]
call fcn.00425da5
push ebx
test eax, eax
push 1
lea esi, [esp + 0x90]
setl byte [esp + 0x1b]
call fcn.00409a53
cmp byte [esp + 0x13], bl
je 0x41a3ff
mov esi, dword [esp + 0x14]
push str.WARNING:_failed_to_delete_ProductCodeKey
call fcn.0040939b
pop ecx
sub esp, 0x1c
lea eax, [esp + 0xc0]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.004084ee
mov ecx, edi
call fcn.0041a834
mov ebx, edi
call fcn.0041be72
lea eax, [esp + 0x30]
push eax
call fcn.0041d250
lea eax, [esp + 0x88]
mov byte [esp + 0xd0], 5
call fcn.00427e71
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0xd4], 6
call fcn.0041d2bf
xor ebx, ebx
push ebx
push 1
lea esi, [esp + 0x90]
mov byte [esp + 0xd8], 5
call fcn.00409a53
lea eax, [esp + 0x88]
call fcn.00427e5a
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0xd4], 7
call fcn.0041d2bf
push ebx
push 1
lea esi, [esp + 0x90]
mov byte [esp + 0xd8], 5
call fcn.00409a53
lea eax, [esp + 0x88]
call fcn.00427e88
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0xd4], 8
call fcn.0041d2bf
push ebx
push 1
lea esi, [esp + 0x90]
mov byte [esp + 0xd8], 5
call fcn.00409a53
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
mov dword [esp + 0x18], ebx
test eax, eax
jbe 0x41a5bf
mov eax, dword [edi]
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
mov ebx, eax
push dword [esp + 0x18]
mov byte [esp + 0xd4], 9
or dword [esp + 0x30], 1
lea esi, [esp + 0x34]
call fcn.0041d29b
cmp dword [eax + 0x18], 8
jb 0x41a529
mov eax, dword [eax + 4]
jmp 0x41a52c
add eax, 4
push eax
mov eax, ebx
call fcn.0040bf39
test eax, eax
je 0x41a570
push dword [esp + 0x18]
lea esi, [esp + 0x34]
call fcn.0041d29b
cmp dword [eax + 0x18], 8
jb 0x41a550
mov eax, dword [eax + 4]
jmp 0x41a553
add eax, 4
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x68], esp
push eax
call fcn.0040858a
push edi
call fcn.004159c3
test al, al
je 0x41a570
mov bl, 1
jmp 0x41a572
xor bl, bl
mov dword [esp + 0xd0], 5
test byte [esp + 0x2c], 1
je 0x41a599
and dword [esp + 0x2c], 0xfffffffe
push 0
push 1
lea esi, [esp + 0x90]
call fcn.00409a53
test bl, bl
jne 0x41a68b
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], eax
jb 0x41a4f0
xor ebx, ebx
push dword [ebp + 8]
lea eax, [esp + 0x8c]
push eax
call fcn.00428b35
pop ecx
pop ecx
mov byte [esp + 0xd0], 0xa
cmp dword [esp + 0x9c], ebx
je 0x41a61b
cmp dword [esp + 0xa0], 8
mov eax, dword [esp + 0x8c]
jae 0x41a5fa
lea eax, [esp + 0x8c]
mov esi, dword [esp + 0x14]
push eax
push str.Deleting_roblox_shortcuts_folder___S
call fcn.0040939b
pop ecx
pop ecx
push ebx
lea eax, [esp + 0x8c]
push eax
mov ecx, edi
call fcn.00419ea9
mov ecx, edi
call fcn.0041a7d0
mov esi, dword [esp + 0x14]
push str.Bootstrapper::uninstall___deleteDesktopShortcut
call fcn.0040939b
pop ecx
mov ebx, str.ROBLOX_Player
mov edi, ebx
mov ecx, esi
call fcn.00428b5e
mov edi, str.ROBLOX_Studio
mov ecx, esi
call fcn.00428b5e
push str.Bootstrapper::uninstall___deleteProgramsShortcut
call fcn.0040939b
pop ecx
push ebx
push dword [ebp + 8]
mov ecx, esi
call fcn.00428c25
push edi
push dword [ebp + 8]
mov ecx, esi
call fcn.00428c25
add esp, 0x10
lea eax, [esp + 0x50]
call fcn.004280ad
mov byte [esp + 0xd0], 0xb
cmp dword [eax + 0x18], 8
jb 0x41a6bc
mov eax, dword [eax + 4]
jmp 0x41a6bf
push dword [esp + 0x18]
lea esi, [esp + 0x34]
call fcn.0041d29b
cmp dword [eax + 0x18], 8
jb 0x41a6a3
mov eax, dword [eax + 4]
jmp 0x41a6a6
add eax, 4
mov esi, dword [esp + 0x14]
push eax
push str.Component__S_still_installed__no_cleanup_needed
call fcn.0040939b
pop ecx
pop ecx
jmp 0x41a745
add eax, 4
push dword [esp + 0x1c]
mov edi, eax
push esi
call fcn.004272cc
pop ecx
pop ecx
push 0
push 1
lea esi, [esp + 0x58]
mov byte [esp + 0xd8], 0xa
call fcn.00409a53
mov esi, dword [esp + 0x48]
mov eax, dword [esi]
lea ecx, [esp + 0x6c]
push ecx
mov ecx, esi
call dword [eax]
mov ebx, eax
lea ecx, [esp + 0x50]
mov byte [esp + 0xd0], 0xc
call fcn.00428007
push esi
mov edi, eax
mov byte [esp + 0xd4], 0xd
call fcn.004162a9
xor edi, edi
push edi
push 1
lea esi, [esp + 0x58]
call fcn.00409a53
push edi
push 1
lea ecx, [esp + 0x74]
call fcn.004097af
push edi
push 1
lea esi, [esp + 0x90]
mov byte [esp + 0xd8], 5
call fcn.00409a53
cmp byte [ebp + 8], 0
mov eax, str.per_user_done
jne 0x41a755
mov eax, str.all_users_done
mov esi, dword [esp + 0x14]
push eax
push str.Uninstall__s
call fcn.0040939b
pop ecx
pop ecx
lea esi, [esp + 0x30]
call fcn.0041e12d
push dword [esp + 0x30]
call fcn.00443d62
pop ecx
xor esi, esi
push esi
push 1
lea ecx, [esp + 0xac]
call fcn.004097af
cmp dword [esp + 0x1c], esi
je 0x41a79a
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esp + 0x24], esi
je 0x41a7aa
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00443d6d
mov esp, ebp
pop ebp
ret 4