Function at 0x41ea40
Capabilities:
Create thread
Read .ini file

Disassembly:
mov eax, 0x132c
call fcn.004ac5b0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1324], eax
movups xmm0, xmmword [str.UninstallEntries_]
mov eax, dword [0x4b4da8]
push ebx
push ebp
push esi
push edi
movups xmmword [esp + 0x128], xmm0
push 0x1e4
movups xmm0, xmmword [0x4b4d98]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x150]
push 0
push eax
movups xmmword [esp + 0x144], xmm0
call fcn.0048fb10
add esp, 0xc
xor eax, eax
mov word [esp + 0x60], ax
push 0xc6
push eax
lea eax, [esp + 0x6a]
push eax
call fcn.0048fb10
add esp, 0xc
push 0
call fcn.00493a5c
add esp, 4
lea ecx, [esp + 0x60]
push 0xa
push 0x64
push ecx
push eax
call fcn.0049099e
add esp, 0x10
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x12c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0x27c9
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
mov ecx, ebx
call fcn.00477500
mov ebp, eax
test ebp, ebp
je 0x41ecb7
push 0x4e5e28
push 1
push str.Confirm
push str.SROPTIONS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x41eb96
push 0xa
push 0x64
lea eax, [esp + 0xb38]
push eax
push ebp
call fcn.0049099e
add esp, 0x10
lea eax, [esp + 0xb30]
mov edx, 0x4b4ca8
mov ecx, 0x4b3c0c
push eax
call fcn.00478640
push eax
lea eax, [esp + 0x338]
push 0x104
push eax
call fcn.0040a420
add esp, 0x10
mov edx, 0x4b32e4
mov ecx, 0x4b3c0c
push 0x24
call fcn.00478640
push eax
lea eax, [esp + 0x338]
push eax
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x41ed13
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1004
push ebx
call edi
lea esi, [eax - 1]
cmp esi, 0xffffffff
je 0x41ecfb
push 0xf000
push esi
push 0x102c
push ebx
call edi
and eax, 0xfffff000
cmp eax, 0x2000
jne 0x41ecab
push 0x7fc
lea eax, [esp + 0x338]
mov dword [esp + 0x334], 0
push 0
push eax
call fcn.0048fb10
add esp, 0xc
mov dword [esp + 0xb30], 0
lea eax, [esp + 0xb34]
push 0x7fc
push 0
push eax
call fcn.0048fb10
add esp, 0xc
mov dword [esp + 0x2c], 6
lea eax, [esp + 0x330]
mov dword [esp + 0x3c], 0x400
mov dword [esp + 0x38], eax
lea eax, [esp + 0x24]
push eax
push esi
push 0x1073
push ebx
call edi
push 0x5c
lea eax, [esp + 0x334]
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
je 0x41ed13
lea ecx, [esp + 0x330]
sub eax, ecx
lea ecx, [esp + 0x332]
sar eax, 1
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0xb34]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x128]
mov ecx, 0x80000002
push eax
push 1
push ebp
push str.UninHKLM
lea edx, [esp + 0xb40]
call fcn.00477b10
add esp, 0x10
push 0
push esi
push 0x1008
push ebx
call edi
dec ebp
dec esi
cmp esi, 0xffffffff
jne 0x41ebb4
jmp 0x41ecfb
mov edx, 0x4b4d78
mov ecx, 0x4b3c0c
call fcn.00478640
push eax
lea eax, [esp + 0x334]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x330]
mov edx, 0x4b4d80
push 0x30
push eax
mov ecx, 0x4b3c0c
call fcn.00478640
push eax
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esp + 0x14]
push eax
push 0
push 0
push fcn.0041b1e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0x1334]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048ea75
add esp, 0x132c
ret