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

Disassembly:
sub esp, 0x93c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x934], eax
push ebx
push ebp
push esi
push edi
push 0x27c4
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_GetDlgItem]
movups xmm0, xmmword [str.SoftwareEntries_]
mov cx, word [0x4b4ca4]
mov ebp, eax
push 0x1e6
movups xmmword [esp + 0x46c], xmm0
lea eax, [esp + 0x48e]
mov word [esp + 0x48c], cx
movups xmm0, xmmword [0x4b4c94]
push 0
push eax
movups xmmword [esp + 0x484], xmm0
call fcn.0048fb10
add esp, 0xc
xor eax, eax
mov word [esp + 0x670], ax
push 0xc6
push eax
lea eax, [esp + 0x67a]
push eax
call fcn.0048fb10
add esp, 0xc
push 0
call fcn.00493a5c
add esp, 4
lea ecx, [esp + 0x670]
push 0xa
push 0x64
push ecx
push eax
call fcn.0049099e
add esp, 0x10
lea eax, [esp + 0x670]
push eax
lea eax, [esp + 0x46c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
mov ecx, ebp
call fcn.00477500
mov ebx, eax
test ebx, ebx
je 0x41e9a9
push 0x4e5e28
push 1
push str.Confirm
push str.SROPTIONS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x41e73b
push 0xa
push 0x64
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.0049099e
add esp, 0x10
lea eax, [esp + 0x58]
mov edx, 0x4b4ca8
mov ecx, 0x4b3c0c
push eax
call fcn.00478640
push eax
lea eax, [esp + 0x268]
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 + 0x268]
push eax
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x41ea25
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1004
push ebp
call edi
lea esi, [eax - 1]
cmp esi, 0xffffffff
je 0x41ea0d
nop dword [eax]
push 0xf000
push esi
push 0x102c
push ebp
call edi
and eax, 0xfffff000
cmp eax, 0x2000
jne 0x41e99d
xor eax, eax
push 0x206
push eax
mov word [esp + 0x60], ax
lea eax, [esp + 0x62]
push eax
call fcn.0048fb10
add esp, 0xc
xor eax, eax
mov word [esp + 0x738], ax
push 0x206
push eax
lea eax, [esp + 0x742]
push eax
call fcn.0048fb10
add esp, 0xc
xor eax, eax
mov word [esp + 0x260], ax
push 0x206
push eax
lea eax, [esp + 0x26a]
push eax
call fcn.0048fb10
add esp, 0xc
mov dword [esp + 0x1c], 0
lea eax, [esp + 0x738]
mov dword [esp + 0x2c], 0x104
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push esi
push 0x1073
push ebp
call edi
lea eax, [esp + 0x260]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push esi
push 0x1073
push ebp
mov dword [esp + 0x3c], 0x104
call edi
lea eax, [esp + 0x260]
push eax
lea eax, [esp + 0x73c]
push eax
push str.software_s_s
lea eax, [esp + 0x64]
push 0x104
push eax
call fcn.0040a420
add esp, 0x14
lea eax, [esp + 0x468]
lea edx, [esp + 0x58]
mov ecx, 0x80000002
push eax
push 1
push ebx
push str.SoftHKLM
call fcn.00477b10
mov edi, eax
lea edx, [esp + 0x68]
lea eax, [esp + 0x478]
mov ecx, 0x80000001
push eax
push 1
push ebx
push str.SoftHKCU
call fcn.00477b10
add edi, eax
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x75c]
push eax
push str..default_software_s_s
lea eax, [esp + 0x84]
push 0x104
push eax
call fcn.0040a420
add esp, 0x34
lea eax, [esp + 0x468]
lea edx, [esp + 0x260]
mov ecx, 0x80000003
push eax
push 1
push ebx
push str.SoftHKUS
call fcn.00477b10
add esp, 0x10
add eax, edi
jne 0x41e98b
push str.software_
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov edi, dword [sym.imp.SHLWAPI.dll_StrCatW]
lea eax, [esp + 0x738]
push eax
lea eax, [esp + 0x5c]
push eax
call edi
lea eax, [esp + 0x468]
mov ecx, 0x80000002
push eax
push 1
push ebx
push str.SoftHKLM
lea edx, [esp + 0x68]
call fcn.00477b10
lea eax, [esp + 0x478]
mov ecx, 0x80000001
push eax
push 1
push ebx
push str.SoftHKCU
lea edx, [esp + 0x78]
call fcn.00477b10
add esp, 0x20
lea eax, [esp + 0x58]
push str..default_software_
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x738]
push eax
lea eax, [esp + 0x5c]
push eax
call edi
lea eax, [esp + 0x468]
mov ecx, 0x80000003
push eax
push 1
push ebx
push str.SoftHKUS
lea edx, [esp + 0x68]
call fcn.00477b10
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push esi
push 0x1008
push ebp
call edi
dec ebx
dec esi
cmp esi, 0xffffffff
jne 0x41e760
jmp 0x41ea0d
xor eax, eax
push 0x206
push eax
mov word [esp + 0x268], ax
lea eax, [esp + 0x26a]
push eax
call fcn.0048fb10
add esp, 0xc
mov edx, 0x4b4d78
mov ecx, 0x4b3c0c
call fcn.00478640
push eax
lea eax, [esp + 0x264]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x260]
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 + 0x10]
push eax
push 0
push 0
push fcn.0041b1e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0x944]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048ea75
add esp, 0x93c
ret