Function at 0x40bb77
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x4bc
mov eax, 0x6d0b07
call fcn.00579a84
mov esi, ecx
mov dword [ebp - 0x4c0], esi
mov dword [ebp - 0x4c0], esi
lea ecx, [ebp - 0x428]
xor ebx, ebx
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x428], ebx
push str.JiSu
mov dword [ebp - 0x418], ebx
mov byte [ebp - 0x428], bl
call fcn.0040257a
push 9
push 0x787344
push ebx
lea ecx, [ebp - 0x428]
mov dword [ebp - 4], ebx
call fcn.0040fa7a
push eax
lea ecx, [ebp - 0x470]
call fcn.0040240f
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 2
call fcn.00402554
push 0x10
pop edi
cmp dword [ebp - 0x45c], edi
lea ecx, [ebp - 0x4bc]
push ecx
push 0x20019
lea eax, [ebp - 0x470]
cmovae eax, dword [ebp - 0x470]
push ebx
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40bdbd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x4a0]
call fcn.004022fb
mov edi, eax
mov byte [ebp - 4], 3
cmp dword [edi + 0x14], 0x10
jb 0x40bc4b
mov edi, dword [edi]
mov dword [ebp - 0x488], ebx
lea ecx, [ebp - 0x488]
push str.JiSu
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x474], 0xf
mov byte [ebp - 0x488], bl
call fcn.0040257a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x458], ebx
push str.HKEY_CURRENT_USER
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], bl
call fcn.0040257a
push 0x13
push str.Failed_to_open_key:
push ebx
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 5
call fcn.0040fa7a
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0040240f
push str.Software_
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], 6
call fcn.004023e9
push eax
lea ecx, [ebp - 0x428]
call fcn.0040240f
lea eax, [ebp - 0x488]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x4c0]
lea ecx, [ebp - 0x440]
call fcn.004029a7
push 0x786b70
push edi
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x440]
cmp dword [ebp - 0x42c], 0x10
mov eax, 0x7c9038
push 0x786c14
cmovae ecx, dword [ebp - 0x440]
cmp dword [0x7c904c], 0x10
push ecx
cmovae eax, dword [0x7c9038]
push str.ERROR:
push 0x50e
push str.Services::GetInstallerResultUIString
push str.E:hongzhenqian03_JisuBrowser_Yindao_CodeQingHouInstallerServicesServices.cpp
push eax
push str.MYSD_ErrMsg_JiSu
push 2
call fcn.004254b0
add esp, 0x2c
lea ecx, [ebp - 0x440]
call fcn.00402554
lea ecx, [ebp - 0x428]
call fcn.00402554
lea ecx, [ebp - 0x4b8]
call fcn.00402554
lea ecx, [ebp - 0x458]
call fcn.00402554
lea ecx, [ebp - 0x488]
call fcn.00402554
lea ecx, [ebp - 0x4a0]
call fcn.00402554
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
jmp 0x40c03e
push 4
pop eax
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], eax
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x4c0]
mov dword [ebp - 0x4c0], ebx
push eax
lea eax, [ebp - 0x4c8]
push eax
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push str.InstallerResult
push dword [ebp - 0x4bc]
call ebx
test eax, eax
je 0x40be95
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x4a0]
call fcn.004022fb
mov ecx, eax
mov byte [ebp - 4], 9
cmp dword [ecx + 0x14], edi
jb 0x40be23
mov ecx, dword [ecx]
cmp dword [0x7c904c], edi
mov eax, 0x7c9038
push 0x786b70
cmovae eax, dword [0x7c9038]
push ecx
push 0x786c14
push str.Failed_to_query_value:InstallerResult
push str.ERROR:
push 0x518
push str.Services::GetInstallerResultUIString
push str.E:hongzhenqian03_JisuBrowser_Yindao_CodeQingHouInstallerServicesServices.cpp
push eax
push str.MYSD_ErrMsg_JiSu
push 2
call fcn.004254b0
add esp, 0x2c
lea ecx, [ebp - 0x4a0]
call fcn.00402554
push dword [ebp - 0x4bc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], al
jmp 0x40c03e
mov edx, dword [ebp - 0x4c0]
test edx, edx
je 0x40be74
lea ecx, [ebp - 0x443]
call fcn.00402c0d
push ecx
lea ecx, [ebp - 0x443]
push ecx
push eax
lea ecx, [ebp - 0x440]
call fcn.00402bde
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x440]
cmp dword [ebp - 0x42c], edi
mov edi, 0x7c9038
push 0x786b70
cmovae eax, dword [ebp - 0x440]
mov ecx, edi
cmp dword [0x7c904c], 0x10
push eax
cmovae ecx, dword [0x7c9038]
push str.InstallerResult:
push str.INFO:
push 0x523
push str.Services::GetInstallerResultUIString
push str.E:hongzhenqian03_JisuBrowser_Yindao_CodeQingHouInstallerServicesServices.cpp
push ecx
push str.MYSD_ErrMsg_JiSu
push 1
call fcn.004254b0
add esp, 0x28
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x440]
call fcn.00402554
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.006a0f30
add esp, 0xc
mov dword [ebp - 0x4c8], 1
lea eax, [ebp - 0x4c4]
mov dword [ebp - 0x4c4], 0x400
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x4c8]
push eax
push 0
push str.InstallerResultUIString
push dword [ebp - 0x4bc]
call ebx
test eax, eax
je 0x40bfd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x4a0]
call fcn.004022fb
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
jb 0x40bf99
mov eax, dword [eax]
cmp dword [0x7c904c], 0x10
push 0x786b70
cmovae edi, dword [0x7c9038]
push eax
push 0x786c14
push str.Failed_to_query_value:InstallerResultUIString
push str.ERROR:
push 0x52b
push str.Services::GetInstallerResultUIString
push str.E:hongzhenqian03_JisuBrowser_Yindao_CodeQingHouInstallerServicesServices.cpp
push edi
jmp 0x40be5a
cmp dword [0x7c904c], 0x10
lea eax, [ebp - 0x410]
push 0x786b70
cmovae edi, dword [0x7c9038]
push eax
push str.InstallerResultUIString:
push str.INFO:
push 0x52f
push str.Services::GetInstallerResultUIString
push str.E:hongzhenqian03_JisuBrowser_Yindao_CodeQingHouInstallerServicesServices.cpp
push edi
push str.MYSD_ErrMsg_JiSu
push 1
call fcn.004254b0
add esp, 0x28
push dword [ebp - 0x4bc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [esi + 0x14], 0xf
mov dword [esi], eax
mov ecx, esi
mov dword [esi + 0x10], eax
mov byte [esi], al
lea eax, [ebp - 0x410]
push eax
call fcn.0040257a
lea ecx, [ebp - 0x470]
call fcn.00402554
mov eax, esi
call fcn.00579a33
ret