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

Disassembly:
sub esp, 0x934
mov eax, dword [0x4c4004]
xor eax, esp
mov dword [esp + 0x92c], eax
push ebx
push ebp
push esi
push edi
push 0x27c4
push dword [0x4def88]
call dword [sym.imp.USER32.dll_GetDlgItem]
movups xmm0, xmmword [str.SoftwareEntries_]
mov cx, word [0x4aea64]
mov ebp, eax
push 0x1e6
movups xmmword [esp + 0x464], xmm0
lea eax, [esp + 0x486]
mov word [esp + 0x484], cx
movups xmm0, xmmword [0x4aea54]
push 0
push eax
movups xmmword [esp + 0x47c], xmm0
call fcn.0048e880
add esp, 0xc
xor eax, eax
mov word [esp + 0x668], ax
push 0xc6
push eax
lea eax, [esp + 0x672]
push eax
call fcn.0048e880
add esp, 0xc
lea eax, [esp + 0x668]
push 0xa
push 0x64
push eax
push 0
call fcn.004927cc
add esp, 4
push eax
call fcn.0048f70e
add esp, 0x10
lea eax, [esp + 0x668]
push eax
lea eax, [esp + 0x464]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
mov ecx, ebp
call fcn.00476300
mov ebx, eax
test ebx, ebx
je 0x41e636
push 0x4ded80
push 1
push str.Confirm
push str.SROPTIONS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x41e3cb
push 0xa
push 0x64
lea eax, [esp + 0x58]
push eax
push ebx
call fcn.0048f70e
add esp, 0x10
lea eax, [esp + 0x50]
mov edx, 0x4aea68
mov ecx, 0x4ad9cc
push eax
call fcn.00477440
push eax
lea eax, [esp + 0x260]
push 0x104
push eax
call fcn.0040a3c0
add esp, 0x10
mov edx, 0x4ad0a4
mov ecx, 0x4ad9cc
push 0x24
call fcn.00477440
push eax
lea eax, [esp + 0x260]
push eax
push dword [0x4def88]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x41e6b2
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 0x41e69a
nop dword [eax]
push 0xf000
push esi
push 0x102c
push ebp
call edi
and eax, 0xfffff000
cmp eax, 0x2000
jne 0x41e62a
xor eax, eax
push 0x206
push eax
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push eax
call fcn.0048e880
add esp, 0xc
xor eax, eax
mov word [esp + 0x730], ax
push 0x206
push eax
lea eax, [esp + 0x73a]
push eax
call fcn.0048e880
add esp, 0xc
xor eax, eax
mov word [esp + 0x258], ax
push 0x206
push eax
lea eax, [esp + 0x262]
push eax
call fcn.0048e880
add esp, 0xc
mov dword [esp + 0x1c], 0
lea eax, [esp + 0x730]
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 + 0x258]
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 + 0x258]
push eax
lea eax, [esp + 0x734]
push eax
push str.software_s_s
lea eax, [esp + 0x5c]
push 0x104
push eax
call fcn.0040a3c0
add esp, 0x14
lea eax, [esp + 0x460]
lea edx, [esp + 0x50]
mov ecx, 0x80000002
push eax
push 1
push ebx
push str.SoftHKLM
call fcn.00476910
mov edi, eax
lea edx, [esp + 0x60]
lea eax, [esp + 0x470]
mov ecx, 0x80000001
push eax
push 1
push ebx
push str.SoftHKCU
call fcn.00476910
add edi, eax
lea eax, [esp + 0x278]
push eax
lea eax, [esp + 0x754]
push eax
push str..default_software_s_s
lea eax, [esp + 0x7c]
push 0x104
push eax
call fcn.0040a3c0
add esp, 0x34
lea eax, [esp + 0x460]
lea edx, [esp + 0x258]
mov ecx, 0x80000003
push eax
push 1
push ebx
push str.SoftHKUS
call fcn.00476910
add esp, 0x10
add eax, edi
jne 0x41e618
push str.software_
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov edi, dword [sym.imp.SHLWAPI.dll_StrCatW]
lea eax, [esp + 0x730]
push eax
lea eax, [esp + 0x54]
push eax
call edi
lea eax, [esp + 0x460]
mov ecx, 0x80000002
push eax
push 1
push ebx
push str.SoftHKLM
lea edx, [esp + 0x60]
call fcn.00476910
lea eax, [esp + 0x470]
mov ecx, 0x80000001
push eax
push 1
push ebx
push str.SoftHKCU
lea edx, [esp + 0x70]
call fcn.00476910
add esp, 0x20
lea eax, [esp + 0x50]
push str..default_software_
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x730]
push eax
lea eax, [esp + 0x54]
push eax
call edi
lea eax, [esp + 0x460]
mov ecx, 0x80000003
push eax
push 1
push ebx
push str.SoftHKUS
lea edx, [esp + 0x60]
call fcn.00476910
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 0x41e3f0
jmp 0x41e69a
xor eax, eax
push 0x206
push eax
mov word [esp + 0x260], ax
lea eax, [esp + 0x262]
push eax
call fcn.0048e880
add esp, 0xc
mov edx, 0x4aeb38
mov ecx, 0x4ad9cc
call fcn.00477440
push eax
lea eax, [esp + 0x25c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x258]
mov edx, 0x4aeb40
push 0x30
push eax
mov ecx, 0x4ad9cc
call fcn.00477440
push eax
push dword [0x4def88]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esp + 0x10]
push eax
push 0
push 0
push fcn.0041ae70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0x93c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048d925
add esp, 0x934
ret