Function at 0x42fa1d
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x15b4
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x5c
xor ebx, ebx
mov dword [ebp - 0x15b4], ecx
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xd0], 0x7365614d
push ebx
push eax
mov dword [ebp - 0xcc], 0x6f7274
call fcn.006390b0
mov esi, str.Code_Factory
lea edi, [ebp - 0x6c]
add esp, 0xc
lea eax, [ebp - 0x5f]
movsd dword es:[edi], dword [esi]
push 0x57
push ebx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
mov eax, dword [str.MySQL]
add esp, 0xc
mov dword [ebp - 0x580], eax
mov ax, word [0x6cbba8]
mov word [ebp - 0x57c], ax
lea eax, [ebp - 0x57a]
push 0x5e
push ebx
push eax
call fcn.006390b0
add esp, 0xc
lea edi, [ebp - 0x51c]
mov esi, str.My_SQL
lea eax, [ebp - 0x515]
push 0x5d
movsd dword es:[edi], dword [esi]
pop ebx
push ebx
push 0
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
call fcn.006390b0
mov esi, str.MSSQLServer
lea edi, [ebp - 0x4b8]
add esp, 0xc
lea eax, [ebp - 0x4ac]
movsd dword es:[edi], dword [esi]
push 0x58
push 0
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.006390b0
mov esi, str.MS_SQL_Server
lea edi, [ebp - 0x454]
add esp, 0xc
lea eax, [ebp - 0x446]
movsd dword es:[edi], dword [esi]
push 0x56
push 0
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.006390b0
mov esi, str.Oracle
lea edi, [ebp - 0x3f0]
add esp, 0xc
lea eax, [ebp - 0x3e9]
movsd dword es:[edi], dword [esi]
push ebx
push 0
push eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
mov esi, str.PostgreSQL
lea edi, [ebp - 0x38c]
add esp, 0xc
lea eax, [ebp - 0x381]
movsd dword es:[edi], dword [esi]
push 0x59
push 0
push eax
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
add esp, 0xc
mov dword [ebp - 0x328], 0x415341
lea eax, [ebp - 0x324]
push 0x60
push 0
push eax
call fcn.006390b0
mov esi, str.AnySQL
lea edi, [ebp - 0x2c4]
add esp, 0xc
lea eax, [ebp - 0x2bd]
movsd dword es:[edi], dword [esi]
push ebx
push 0
push eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
add esp, 0xc
mov dword [ebp - 0x260], 0x324244
lea eax, [ebp - 0x25c]
push 0x60
push 0
push eax
call fcn.006390b0
mov esi, str.Firebird
lea edi, [ebp - 0x1fc]
add esp, 0xc
lea eax, [ebp - 0x1f3]
movsd dword es:[edi], dword [esi]
push 0x5b
push 0
push eax
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
mov eax, dword [str.MaxDB]
add esp, 0xc
mov dword [ebp - 0x198], eax
mov ax, word [0x6cbbfc]
mov word [ebp - 0x194], ax
lea eax, [ebp - 0x192]
push 0x5e
push 0
push eax
call fcn.006390b0
mov esi, str.SQLite
lea edi, [ebp - 0x134]
add esp, 0xc
lea eax, [ebp - 0x12d]
movsd dword es:[edi], dword [esi]
push ebx
push 0
push eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.006390b0
mov eax, 0x25a
mov dword [ebp - 0x1588], 0x25c
add esp, 0xc
mov dword [ebp - 0x1598], eax
mov dword [ebp - 0x1594], eax
inc eax
mov dword [ebp - 0x1590], eax
mov dword [ebp - 0x158c], eax
mov dword [ebp - 0x1584], 0x25d
mov dword [ebp - 0x1580], 0x25e
mov dword [ebp - 0x157c], 0x25f
mov dword [ebp - 0x1578], 0x260
mov eax, 0x264
mov dword [ebp - 0x1574], 0x261
mov dword [ebp - 0x1568], eax
lea edi, [ebp - 0x1538]
mov dword [ebp - 0x1564], eax
lea esi, [ebp - 0x1598]
inc eax
mov dword [ebp - 0x1570], 0x262
mov dword [ebp - 0x1560], eax
mov dword [ebp - 0x155c], eax
xor eax, eax
push 6
pop ecx
mov dword [ebp - 0x156c], 0x263
mov dword [ebp - 0x1558], 0x266
mov dword [ebp - 0x1554], 0x267
mov dword [ebp - 0x1550], 0x268
mov dword [ebp - 0x154c], 0x269
mov dword [ebp - 0x1548], 0x26a
mov dword [ebp - 0x1544], 0x26b
mov dword [ebp - 0x1540], 0x26c
mov dword [ebp - 0x153c], 0x26d
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x15b0], 2
mov dword [ebp - 0x15ac], eax
push eax
push str.SoftwareSQL_Maestro_Group_s
lea eax, [ebp - 0x1138]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x10
lea edi, [ebp - 0x580]
mov dword [ebp - 0x15a4], edi
push 0xc
pop ebx
mov dword [ebp - 0x15a8], ebx
push edi
lea eax, [ebp - 0x1138]
push eax
push str._s_sProfiles
lea eax, [ebp - 0x968]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x15a0]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x968]
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x42fe51
xor ecx, ecx
mov dword [ebp - 0x159c], 0x3e8
push ecx
push ecx
push ecx
push ecx
lea eax, [ebp - 0x159c]
mov ebx, ecx
push eax
lea eax, [ebp - 0xd50]
push eax
push ecx
push dword [ebp - 0x15a0]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x42fe3f
mov edi, dword [ebp - 0x15b4]
lea eax, [ebp - 0xd50]
push eax
lea eax, [ebp - 0x968]
push eax
push 0x6c643c
lea eax, [ebp - 0x1520]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x1520]
mov ecx, edi
push eax
push dword [esi]
call fcn.0042f6e6
xor eax, eax
mov dword [ebp - 0x159c], 0x3e8
push eax
push eax
push eax
push eax
lea eax, [ebp - 0x159c]
inc ebx
push eax
lea eax, [ebp - 0xd50]
push eax
push ebx
push dword [ebp - 0x15a0]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
je 0x42fdd2
mov edi, dword [ebp - 0x15a4]
push dword [ebp - 0x15a0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [ebp - 0x15a8]
add edi, 0x64
add esi, 4
sub ebx, 1
mov dword [ebp - 0x15a4], edi
mov dword [ebp - 0x15a8], ebx
jne 0x42fd52
mov eax, dword [ebp - 0x15ac]
add eax, 0x64
sub dword [ebp - 0x15b0], 1
mov dword [ebp - 0x15ac], eax
jne 0x42fd23
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.006122f0
leave
ret