Function at 0x1003c850
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x1006de68]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2d0], 0
mov ecx, 6
mov esi, str.SOFTWAREAspenTechSetup
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0xc
mov esi, str.SOFTWAREAspenTechSetupProductsInfoPlus21x64
lea edi, [ebp - 0xb8]
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
mov esi, str.SOFTWAREAspenTechSetupProductsIP21
lea edi, [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [str.ASPENROOT64]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x1006b8b0]
mov dword [ebp - 0x18], ecx
mov edx, dword [0x1006b8b4]
mov dword [ebp - 0x14], edx
mov eax, dword [str.ASPENROOT]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006b8bc]
mov dword [ebp - 0xc], ecx
mov dx, word [0x1006b8c0]
mov word [ebp - 8], dx
mov ecx, 9
mov esi, str.InfoPlus.21db21CodeTSK_CLIENT.EXE
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1bc], 0
push 0x103
push 0
lea eax, [ebp - 0x1bb]
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov byte [ebp - 0x2c0], 0
push 0x103
push 0
lea ecx, [ebp - 0x2bf]
push ecx
call sub.MSVCR120.dll_memset
add esp, 0xc
cmp dword [0x1006b824], 0
je 0x1003cc27
mov dword [0x1006b824], 0
call sym.CIMIO_NO_WRITE.dll_is64BitApp
test eax, eax
je 0x1003c982
mov dword [ebp - 0x2d4], 0x200
lea edx, [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x2d4]
or eax, 0x20019
push eax
push 0
lea ecx, [ebp - 0x60]
push ecx
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1003ca4f
mov dword [ebp - 0x2d8], 0x104
lea edx, [ebp - 0x2d8]
push edx
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x2e4]
push ecx
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x2c8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1003ca04
mov dword [ebp - 0x2dc], 1
mov dword [ebp - 0x2d8], 0x104
lea ecx, [ebp - 0x2d8]
push ecx
lea edx, [ebp - 0x2c0]
push edx
lea eax, [ebp - 0x2e4]
push eax
push 0
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x2c8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1003ca4f
mov dword [ebp - 0x2e0], 1
mov eax, dword [ebp - 0x2c8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0x2d4]
or edx, 0x20019
push edx
push 0
lea eax, [ebp - 0xb8]
push eax
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1003ca9d
mov dword [ebp - 0x2cc], 1
mov ecx, dword [ebp - 0x2c8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x2d4]
or eax, 0x20019
push eax
push 0
lea ecx, [ebp - 0x88]
push ecx
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1003caea
mov dword [ebp - 0x2d0], 1
mov edx, dword [ebp - 0x2c8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x2dc], 0
je 0x1003cb89
cmp dword [ebp - 0x2d0], 0
je 0x1003cb89
cmp dword [ebp - 0x2cc], 0
je 0x1003cb89
lea eax, [ebp - 0x1bc]
push eax
call sym.CIMIO_NO_WRITE.dll_cimio_lefttrim
add esp, 4
lea ecx, [ebp - 0x1bc]
push ecx
call sub.MSVCR120.dll_strlen
add esp, 4
movsx edx, byte [ebp + eax - 0x1bd]
cmp edx, 0x5c
je 0x1003cb55
push 0x1006b8ec
lea eax, [ebp - 0x1bc]
push eax
call sub.MSVCR120.dll_strcat
add esp, 8
lea ecx, [ebp - 0x1bc]
push ecx
push 0x1059c8f0
call sub.MSVCR120.dll_strcpy
add esp, 8
lea edx, [ebp - 0x44]
push edx
push 0x1059c8f0
call sub.MSVCR120.dll_strcat
add esp, 8
mov dword [0x1059c8e8], 2
jmp 0x1003cc27
cmp dword [ebp - 0x2d0], 0
je 0x1003cc0b
cmp dword [ebp - 0x2cc], 0
jne 0x1003cc0b
lea eax, [ebp - 0x2c0]
push eax
call sym.CIMIO_NO_WRITE.dll_cimio_lefttrim
add esp, 4
lea ecx, [ebp - 0x2c0]
push ecx
call sub.MSVCR120.dll_strlen
add esp, 4
movsx edx, byte [ebp + eax - 0x2c1]
cmp edx, 0x5c
je 0x1003cbda
push 0x1006b8f0
lea eax, [ebp - 0x2c0]
push eax
call sub.MSVCR120.dll_strcat
add esp, 8
lea ecx, [ebp - 0x2c0]
push ecx
push 0x1059c8f0
call sub.MSVCR120.dll_strcpy
add esp, 8
lea edx, [ebp - 0x44]
push edx
push 0x1059c8f0
call sub.MSVCR120.dll_strcat
add esp, 8
mov dword [0x1059c8e8], 1
jmp 0x1003cc27
cmp dword [ebp - 0x2d0], 0
jne 0x1003cc27
cmp dword [ebp - 0x2cc], 0
jne 0x1003cc27
mov dword [0x1059c8e8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [0x1059c8e8]
mov dword [eax], ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sym.CIMIO_NO_WRITE.dll_isNodeInCluster
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, 0x1059c8f0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10059cde
mov esp, ebp
pop ebp
ret