Function at 0x10049870
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10100989
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1130
call fcn.100ec810
push ebx
push esi
push edi
lea edi, [ebp - 0x1140]
mov ecx, 0x44c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], esp
mov al, byte [0x10102e12]
mov byte [ebp - 0x1c0], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x1bf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x2c8], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x2c7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x3d0], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x3cf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x4d8], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x4d7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x5e0], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x5df]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x6e8], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x6e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x7f0], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x7ef]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0x8f8], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x8f7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0xa00], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x9ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10102e12]
mov byte [ebp - 0xb08], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0xb07]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x24], reloc.WSOCK32.dll_accept
mov dword [ebp - 0x30], str.SoftwarePTCVariantDesign
mov dword [ebp - 0x3c], str.ftp_address
mov dword [ebp - 0x48], str.ftp_user
mov dword [ebp - 0x54], str.ftp_pwd
mov dword [ebp - 0x60], str.ftp_port
mov dword [ebp - 0x78], str.dsn_user
mov dword [ebp - 0x84], str.dsn_pwd
mov dword [ebp - 0x6c], 0x10103358
mov dword [ebp - 0xb4], str.SHUJUYUAN
mov dword [ebp - 0x90], str.pdm_dsn_name
mov dword [ebp - 0x9c], str.pdm_dsn_user
mov dword [ebp - 0xa8], str.pdm_dsn_pwd
mov dword [ebp - 4], 0
mov esi, esp
lea eax, [ebp - 0x18]
push eax
push 0x20019
push 0
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
jne 0x10049fdf
mov esi, esp
lea eax, [ebp - 0xf28]
push eax
lea ecx, [ebp - 0x1c0]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049aa1
mov byte [ebp - 0x1c0], 0
mov esi, esp
lea eax, [ebp - 0xf34]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049ada
mov byte [ebp - 0x2c8], 0
mov esi, esp
lea eax, [ebp - 0xf40]
push eax
lea ecx, [ebp - 0x3d0]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049b13
mov byte [ebp - 0x3d0], 0
mov esi, esp
lea eax, [ebp - 0xf4c]
push eax
lea ecx, [ebp - 0xf10]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049b4f
mov dword [ebp - 0xf10], 0
mov esi, esp
lea eax, [ebp - 0xf58]
push eax
lea ecx, [ebp - 0x4d8]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049b88
mov byte [ebp - 0x4d8], 0
mov esi, esp
lea eax, [ebp - 0xf64]
push eax
lea ecx, [ebp - 0x6e8]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049bc1
mov byte [ebp - 0x6e8], 0
mov esi, esp
lea eax, [ebp - 0xf70]
push eax
lea ecx, [ebp - 0x5e0]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049bfd
mov byte [ebp - 0x5e0], 0
mov esi, esp
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xb08]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049c39
mov byte [ebp - 0xb08], 0
mov esi, esp
lea eax, [ebp - 0xf88]
push eax
lea ecx, [ebp - 0x7f0]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049c75
mov byte [ebp - 0x7f0], 0
mov esi, esp
lea eax, [ebp - 0xf94]
push eax
lea ecx, [ebp - 0xa00]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049cb1
mov byte [ebp - 0xa00], 0
mov esi, esp
lea eax, [ebp - 0xfa0]
push eax
lea ecx, [ebp - 0x8f8]
push ecx
lea edx, [ebp - 0xf1c]
push edx
push 0
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x10049ced
mov byte [ebp - 0x8f8], 0
mov esi, esp
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.100ec680
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x1084]
call fcn.100031e0
mov dword [ebp - 0x1104], eax
mov ecx, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x1108]
push edx
mov ecx, 0x1015b9d0
call fcn.100024c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1084]
call fcn.10003280
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x1090]
call fcn.100031e0
mov dword [ebp - 0x1104], eax
mov ecx, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1108]
push edx
mov ecx, 0x1015b9d4
call fcn.100024c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1090]
call fcn.10003280
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0x109c]
call fcn.100031e0
mov dword [ebp - 0x1104], eax
mov ecx, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1108]
push edx
mov ecx, 0x1015b9d8
call fcn.100024c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x109c]
call fcn.10003280
mov eax, dword [ebp - 0xf10]
mov dword [0x1015b9dc], eax
lea eax, [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0x10a8]
call fcn.100031e0
mov dword [ebp - 0x1104], eax
mov ecx, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x4d8]
push edx
lea ecx, [ebp - 0x10b4]
call fcn.100031e0
mov dword [ebp - 0x110c], eax
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0x1110], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb08]
push ecx
lea ecx, [ebp - 0x10c0]
call fcn.100031e0
mov dword [ebp - 0x1114], eax
mov edx, dword [ebp - 0x1114]
mov dword [ebp - 0x1118], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1118]
push eax
push str.DSN
lea ecx, [ebp - 0x10cc]
push ecx
call fcn.1000c2a0
add esp, 0xc
mov dword [ebp - 0x111c], eax
mov edx, dword [ebp - 0x111c]
mov dword [ebp - 0x1120], edx
mov byte [ebp - 4], 7
push str._UID
mov eax, dword [ebp - 0x1120]
push eax
lea ecx, [ebp - 0x10d8]
push ecx
call fcn.10002800
add esp, 0xc
mov dword [ebp - 0x1124], eax
mov edx, dword [ebp - 0x1124]
mov dword [ebp - 0x1128], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1110]
push eax
mov ecx, dword [ebp - 0x1128]
push ecx
lea edx, [ebp - 0x10e4]
push edx
call fcn.10002700
add esp, 0xc
mov dword [ebp - 0x112c], eax
mov eax, dword [ebp - 0x112c]
mov dword [ebp - 0x1130], eax
mov byte [ebp - 4], 9
push str._PWD
mov ecx, dword [ebp - 0x1130]
push ecx
lea edx, [ebp - 0x10f0]
push edx
call fcn.10002800
add esp, 0xc
mov dword [ebp - 0x1134], eax
mov eax, dword [ebp - 0x1134]
mov dword [ebp - 0x1138], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1108]
push ecx
mov edx, dword [ebp - 0x1138]
push edx
lea eax, [ebp - 0x10fc]
push eax
call fcn.10002700
add esp, 0xc
mov dword [ebp - 0x113c], eax
mov ecx, dword [ebp - 0x113c]
mov dword [ebp - 0x1140], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x1140]
push edx
mov ecx, 0x1015b9e0
call fcn.100024c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x10fc]
call fcn.10003280
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x10f0]
call fcn.10003280
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x10e4]
call fcn.10003280
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10d8]
call fcn.10003280
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x10cc]
call fcn.10003280
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10c0]
call fcn.10003280
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10b4]
call fcn.10003280
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10a8]
call fcn.10003280
jmp 0x1004a03b
mov esi, esp
lea eax, [ebp - 0xfb8]
push eax
lea ecx, [ebp - 0xfac]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp esi, esp
call fcn.100ec680
test eax, eax
je 0x1004a025
push 0
push 0
push 0x101032fc
call sub.MFC70D.DLL_Ordinal_1383
jmp 0x1004a05a
mov esi, esp
mov eax, dword [ebp - 0xfac]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.100ec680
jmp 0x1004a053
mov dword [ebp - 4], 0xffffffff
push edx
mov ecx, ebp
push eax
lea edx, [0x1004a089]
call fcn.100ec6b0
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x1140
cmp ebp, esp
call fcn.100ec680
mov esp, ebp
pop ebp
ret