Function at 0x404fec
Capabilities:
Get common file path
Query or enumerate registry key
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df3e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5f8
push edi
mov dword [ebp - 0x5ec], ecx
push 0x479650
lea ecx, [ebp - 0x34]
call fcn.0045518e
mov dword [ebp - 4], 0
mov word [ebp - 0x18], 0
push 0x479654
lea ecx, [ebp - 0x30]
call fcn.0045518e
mov byte [ebp - 4], 1
push 0x471cec
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov al, byte [0x479658]
mov byte [ebp - 0x228], al
mov ecx, 0x7c
xor eax, eax
lea edi, [ebp - 0x227]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x228]
push edx
push 0x471cf4
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
push str.Ipe20.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405123
push str.Photo_Express_2
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea eax, [ebp - 0x228]
push eax
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea ecx, [ebp - 0x228]
push ecx
push 0x471d14
lea edx, [ebp - 0x30]
push edx
call fcn.0044fdfe
add esp, 0xc
push str.Ipe30.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4051bf
push str.Photo_Express_3
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x18]
and edx, 0xffff
push edx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea edx, [ebp - 0x228]
push edx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea eax, [ebp - 0x228]
push eax
push 0x471d34
lea ecx, [ebp - 0x30]
push ecx
call fcn.0044fdfe
add esp, 0xc
push str.Ipe40.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea edx, [ebp - 0x10]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40525b
push str.Photo_Express_4
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x228]
push edx
push 0x471d54
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
push str.scan.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4052f6
push str.ScanMaster
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea eax, [ebp - 0x228]
push eax
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea ecx, [ebp - 0x228]
push ecx
push 0x471d70
lea edx, [ebp - 0x30]
push edx
call fcn.0044fdfe
add esp, 0xc
push str.Photoshp.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
push 0x47965c
lea ecx, [ebp - 0x2c]
call fcn.0045518e
mov byte [ebp - 4], 2
lea eax, [ebp - 0x228]
push eax
push 0x471d84
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0044fdfe
add esp, 0xc
push str.Photoshop.exe
lea ecx, [ebp - 0x2c]
call fcn.00455488
lea edx, [ebp - 0x10]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4053cd
push 0x471d98
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4056e7
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x2c]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40542d
push 0x471da4
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4056e7
mov dword [ebp - 0x498], 0xff
mov dword [ebp - 0x234], 0x64
lea ecx, [ebp - 0x42c]
call fcn.00402210
mov byte [ebp - 4], 3
mov dword [ebp - 0x430], 0
lea ecx, [ebp - 0x230]
call fcn.00402210
mov byte [ebp - 4], 4
mov al, byte [0x479660]
mov byte [ebp - 0x428], al
mov ecx, 0x7c
xor eax, eax
lea edi, [ebp - 0x427]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x1f4
lea ecx, [ebp - 0x428]
push ecx
push 0x15d
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x428]
push edx
push 0x471db0
lea eax, [ebp - 0x230]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x230]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4056c9
mov dword [ebp - 0x234], 0x64
lea ecx, [ebp - 0x59c]
call fcn.00402210
mov byte [ebp - 4], 5
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x234]
push edx
lea eax, [ebp - 0x494]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x103
jne 0x40554c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x59c]
call fcn.00455120
jmp 0x4056c9
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x59c]
call fcn.004552a9
push str.ApplicationPath
lea ecx, [ebp - 0x59c]
push ecx
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp - 0x5dc]
push eax
call fcn.0045534f
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x5f0]
mov dword [ebp - 0x5f4], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x5f4]
push edx
lea eax, [ebp - 0x5e0]
push eax
call fcn.004553b5
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x5fc]
push edx
lea ecx, [ebp - 0x230]
call fcn.00455259
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5e0]
call fcn.00455120
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5dc]
call fcn.00455120
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x230]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40569e
lea ecx, [ebp - 0x498]
push ecx
lea edx, [ebp - 0x598]
push edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x598]
push ecx
lea ecx, [ebp - 0x42c]
call fcn.004552a9
lea ecx, [ebp - 0x42c]
call fcn.00402230
test eax, eax
jne 0x40569e
push str.Photoshop
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x59c]
call fcn.00455120
jmp 0x4056c9
mov eax, dword [ebp - 0x430]
add eax, 1
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x59c]
call fcn.00455120
cmp dword [ebp - 0x22c], 0
je 0x4054e6
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.00455120
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x42c]
call fcn.00455120
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x228]
push edx
push 0x471dd4
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
push str.Photosle.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405782
push str.Photoshop_LE
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x20]
call fcn.00402210
mov byte [ebp - 4], 8
push 0x1f4
lea eax, [ebp - 0x228]
push eax
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea ecx, [ebp - 0x228]
push ecx
push 0x471df8
lea edx, [ebp - 0x30]
push edx
call fcn.0044fdfe
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0x471dfc
lea ecx, [ebp - 0x20]
push ecx
call fcn.0044fdfe
add esp, 0xc
push str.PD3.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
push str.PD4.exe
lea ecx, [ebp - 0x20]
call fcn.00455488
lea edx, [ebp - 0x10]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405851
push 0x471e10
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4058ac
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x20]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4058ac
push str.Photo_Deluxe
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea eax, [ebp - 0x228]
push eax
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea ecx, [ebp - 0x228]
push ecx
push 0x471e30
lea edx, [ebp - 0x30]
push edx
call fcn.0044fdfe
add esp, 0xc
push str.Iedit.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405948
push str.PhotoImpact
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x18]
and edx, 0xffff
push edx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea edx, [ebp - 0x228]
push edx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea eax, [ebp - 0x228]
push eax
push 0x471e4c
lea ecx, [ebp - 0x30]
push ecx
call fcn.0044fdfe
add esp, 0xc
push str.KODAKIMG.EXE
lea ecx, [ebp - 0x30]
call fcn.00455488
lea edx, [ebp - 0x10]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4059e4
push 0x471e60
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x228]
push edx
push 0x471e68
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
push str.MustBinder.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405a7f
push str.MustBinder
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x5ec]
call fcn.00406a28
test eax, eax
je 0x405ae9
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x471e88
push 0x471e94
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 1
jne 0x405ae9
push 0x471ea0
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
push 0x1f4
lea eax, [ebp - 0x228]
push eax
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea ecx, [ebp - 0x228]
push ecx
push 0x471eac
lea edx, [ebp - 0x30]
push edx
call fcn.0044fdfe
add esp, 0xc
push str.PRESTOPM.exe
lea ecx, [ebp - 0x30]
call fcn.00455488
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405b85
push 0x471ec0
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x18]
and edx, 0xffff
push edx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
lea edx, [ebp - 0x228]
push edx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea eax, [ebp - 0x228]
push eax
push 0x471ecc
lea ecx, [ebp - 0x30]
push ecx
call fcn.0044fdfe
add esp, 0xc
push 0x471ed0
lea ecx, [ebp - 0x30]
call fcn.00455488
lea edx, [ebp - 0x10]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405c26
push 0x471edc
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0xffff
push ecx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x405cc1
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea edx, [ebp - 0x228]
push edx
push 0x471ee4
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
push 0x471ee8
lea ecx, [ebp - 0x30]
call fcn.00455488
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405cc1
push 0x471ef4
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x471efc
push 0x471f04
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x5a4], eax
push 0x479664
lea ecx, [ebp - 0x5a8]
call fcn.0045518e
mov byte [ebp - 4], 9
mov dword [ebp - 0x5ac], 0
jmp 0x405d13
mov eax, dword [ebp - 0x5ac]
add eax, 1
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5ac]
cmp ecx, dword [ebp - 0x5a4]
jae 0x405e4f
mov edx, dword [ebp - 0x5ac]
add edx, 1
push edx
push str.AP_d_RegDir
lea eax, [ebp - 0x5a8]
push eax
call fcn.0044fdfe
add esp, 0xc
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x479668
lea ecx, [ebp - 0x5a8]
call fcn.00402270
push eax
push 0x471f1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x228]
push edx
push 0x471f28
lea eax, [ebp - 0x30]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x30]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405e4a
mov edx, dword [ebp - 0x5ac]
add edx, 1
push edx
push 0x471f2c
lea eax, [ebp - 0x5a8]
push eax
call fcn.0044fdfe
add esp, 0xc
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x1f4
lea ecx, [ebp - 0x228]
push ecx
push 0x47966c
lea ecx, [ebp - 0x5a8]
call fcn.00402270
push eax
push 0x471f38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x228]
push edx
push 0x471f44
lea eax, [ebp - 0x34]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x18]
and edx, 0xffff
push edx
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x405d04
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5a8]
call fcn.00455120
mov ecx, dword [ebp - 0x5ec]
call fcn.0040706f
test eax, eax
je 0x405f85
lea ecx, [ebp - 0x5b8]
call fcn.00402210
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5b0]
call fcn.00402210
mov byte [ebp - 4], 0xb
push 0x105
push 0
lea ecx, [ebp - 0x5b8]
call fcn.004554dc
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, dword [ebp - 0x5b8]
push edx
push str._sSystem32_shimgvw.dll
lea eax, [ebp - 0x5b0]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x5d8]
call fcn.0043af62
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5b0]
push ecx
lea ecx, [ebp - 0x5b4]
call fcn.00454e95
mov byte [ebp - 4], 0xd
push 0
lea ecx, [ebp - 0x5b4]
call fcn.00402270
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0043b025
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
je 0x405f3e
push 0x471f60
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
lea ecx, [ebp - 0x5d8]
call fcn.0043afdb
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5b4]
call fcn.00455120
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x5d8]
call fcn.0043af9f
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5b0]
call fcn.00455120
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5b8]
call fcn.00455120
mov ecx, dword [ebp - 0x5ec]
call fcn.00406e06
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x405fc7
push 0x471f74
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 0xffff
push eax
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x18]
and edx, 0xffff
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x5ec]
add ecx, 0x20
call fcn.00407190
lea ecx, [ebp - 0x24]
call fcn.00402210
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x1c], 0
jmp 0x405fff
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x28]
jge 0x406066
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x5e4]
push eax
mov ecx, dword [ebp + 8]
call fcn.004071b0
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
mov dword [ebp - 0x604], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x604]
push edx
lea ecx, [ebp - 0x24]
call fcn.00455259
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x5e4]
call fcn.00455120
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x5ec]
add ecx, 0x20
call fcn.004512d4
jmp 0x405ff6
cmp dword [ebp - 0x28], 0
jne 0x4060a1
mov word [ebp - 0x18], 1
push 0x471f84
lea ecx, [ebp - 0x34]
call fcn.004552a9
lea edx, [ebp - 0x34]
push edx
push 0
mov ecx, dword [ebp - 0x5ec]
add ecx, 0x20
call fcn.004512d4
lea eax, [ebp - 0x34]
push eax
push 0
mov ecx, dword [ebp + 8]
call fcn.004512d4
mov cx, word [ebp - 0x18]
mov word [ebp - 0x5e8], cx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.00455120
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00455120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00455120
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00455120
mov ax, word [ebp - 0x5e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret 4