Function at 0x423780
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e0f9a
mov eax, dword fs:[0]
push eax
sub esp, 0x7ec
mov eax, dword [0x50c7c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov esi, ecx
cmp byte [ebp + 0xc], 0
mov edi, dword [ebp + 8]
je 0x423bc4
lea eax, [ebp - 0x474]
push eax
push 0x20219
push 0
push esi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4239a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
lea ecx, [ebp - 0x698]
mov esi, eax
call fcn.00407790
mov edx, edi
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x428]
call fcn.00424270
push esi
push ecx
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x688]
call fcn.0040a2f0
mov edx, 0x4ef678
mov ecx, eax
call fcn.00403cd0
add esp, 4
mov ecx, eax
call fcn.004075f0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x414], 0x10
jb 0x42384f
push dword [ebp - 0x428]
call fcn.004a78e3
add esp, 4
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x698]
call fcn.004078f0
push eax
mov edx, str.In_getRegedit__HKEY_LOCAL_MACHINE_RegOpenKeyEx_error_:
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x428]
call fcn.0040a7d0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 3
call fcn.00424920
push str.debuglog.txt
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x458]
call fcn.00403c80
add esp, 4
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x4238af
mov eax, dword [eax]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00424710
add esp, 4
cmp dword [ebp - 0x444], 0x10
jb 0x4238d3
push dword [ebp - 0x458]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x42c], 0x10
mov dword [ebp - 0x444], 0xf
mov dword [ebp - 0x448], 0
mov byte [ebp - 0x458], 0
jb 0x423905
push dword [ebp - 0x440]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x414], 0x10
mov dword [ebp - 0x42c], 0xf
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x440], 0
jb 0x423937
push dword [ebp - 0x428]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x45c], 0x10
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x418], 0
mov byte [ebp - 0x428], 0
jb 0x423969
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x630]
mov dword [ebp - 4], 0xffffffff
call fcn.00407840
lea eax, [ebp - 0x630]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004a6211
add esp, 4
xor al, al
jmp 0x424151
lea eax, [ebp - 0x488]
mov dword [ebp - 0x488], 0x200
push eax
lea eax, [ebp - 0x410]
mov dword [ebp - 0x47c], 0
push eax
lea eax, [ebp - 0x47c]
push eax
push 0
push ebx
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jle 0x4239ed
movzx eax, ax
or eax, 0x80070000
test eax, eax
jns 0x423bb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
lea ecx, [ebp - 0x538]
mov esi, eax
call fcn.00407790
mov edx, edi
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x470]
call fcn.00424270
push esi
push ecx
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x528]
call fcn.0040a2f0
mov edx, 0x4ef678
mov ecx, eax
call fcn.00403cd0
add esp, 4
mov ecx, eax
call fcn.004075f0
mov byte [ebp - 4], 6
cmp dword [ebp - 0x45c], 0x10
jb 0x423a61
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x538]
call fcn.004078f0
push eax
mov edx, str.In_getRegedit__HKEY_LOCAL_MACHINE_RegQueryValueEx_error_:
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x458]
call fcn.0040a7d0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 9
call fcn.00424920
push str.debuglog.txt
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x428]
call fcn.00403c80
add esp, 4
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
jb 0x423ac1
mov eax, dword [eax]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00424710
add esp, 4
cmp dword [ebp - 0x414], 0x10
jb 0x423ae5
push dword [ebp - 0x428]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x42c], 0x10
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x418], 0
mov byte [ebp - 0x428], 0
jb 0x423b17
push dword [ebp - 0x440]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x444], 0x10
mov dword [ebp - 0x42c], 0xf
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x440], 0
jb 0x423b49
push dword [ebp - 0x458]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x45c], 0x10
mov dword [ebp - 0x444], 0xf
mov dword [ebp - 0x448], 0
mov byte [ebp - 0x458], 0
jb 0x423b7b
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x4d0]
mov dword [ebp - 4], 0xffffffff
call fcn.00407840
lea eax, [ebp - 0x4d0]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004a6211
add esp, 4
xor al, al
jmp 0x424151
lea eax, [ebp - 0x410]
jmp 0x424127
lea eax, [ebp - 0x478]
push eax
push 0x20019
call dword [sym.imp.ADVAPI32.dll_RegOpenCurrentUser]
test eax, eax
je 0x423dae
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
lea ecx, [ebp - 0x7f8]
mov esi, eax
call fcn.00407790
mov edx, edi
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x470]
call fcn.00424270
push esi
push ecx
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x7e8]
call fcn.0040a2f0
mov edx, 0x4ef678
mov ecx, eax
call fcn.00403cd0
add esp, 4
mov ecx, eax
call fcn.004075f0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x45c], 0x10
jb 0x423c4c
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.004078f0
push eax
mov edx, str.In_getRegedit__HKEY_CURRENT_USER_RegOpenCurrentUser_error_:
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x458]
call fcn.0040a7d0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0xf
call fcn.00424920
push str.debuglog.txt
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x428]
call fcn.00403c80
add esp, 4
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x423cac
mov eax, dword [eax]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00424710
add esp, 4
cmp dword [ebp - 0x414], 0x10
jb 0x423cd0
push dword [ebp - 0x428]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x42c], 0x10
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x418], 0
mov byte [ebp - 0x428], 0
jb 0x423d02
push dword [ebp - 0x440]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x444], 0x10
mov dword [ebp - 0x42c], 0xf
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x440], 0
jb 0x423d34
push dword [ebp - 0x458]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x45c], 0x10
mov dword [ebp - 0x444], 0xf
mov dword [ebp - 0x448], 0
mov byte [ebp - 0x458], 0
jb 0x423d66
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
push dword [ebp - 0x474]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x478]
call esi
lea ecx, [ebp - 0x790]
mov dword [ebp - 4], 0xffffffff
call fcn.00407840
lea eax, [ebp - 0x790]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004a6211
add esp, 4
xor al, al
jmp 0x424151
lea eax, [ebp - 0x474]
push eax
push 0x20019
push 0
push esi
push dword [ebp - 0x478]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x423fa1
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
lea ecx, [ebp - 0x748]
mov esi, eax
call fcn.00407790
mov edx, edi
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x470]
call fcn.00424270
push esi
push ecx
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x738]
call fcn.0040a2f0
mov edx, 0x4ef678
mov ecx, eax
call fcn.00403cd0
add esp, 4
mov ecx, eax
call fcn.004075f0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x45c], 0x10
jb 0x423e3f
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x748]
call fcn.004078f0
push eax
mov edx, str.In_getRegedit__HKEY_CURRENT_USER_RegOpenKeyEx_error_:
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x458]
call fcn.0040a7d0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0x15
call fcn.00424920
push str.debuglog.txt
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x428]
call fcn.00403c80
add esp, 4
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x14], 0x10
jb 0x423e9f
mov eax, dword [eax]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00424710
add esp, 4
cmp dword [ebp - 0x414], 0x10
jb 0x423ec3
push dword [ebp - 0x428]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x42c], 0x10
mov dword [ebp - 0x414], 0xf
mov dword [ebp - 0x418], 0
mov byte [ebp - 0x428], 0
jb 0x423ef5
push dword [ebp - 0x440]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x444], 0x10
mov dword [ebp - 0x42c], 0xf
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x440], 0
jb 0x423f27
push dword [ebp - 0x458]
call fcn.004a78e3
add esp, 4
cmp dword [ebp - 0x45c], 0x10
mov dword [ebp - 0x444], 0xf
mov dword [ebp - 0x448], 0
mov byte [ebp - 0x458], 0
jb 0x423f59
push dword [ebp - 0x470]
call fcn.004a78e3
add esp, 4
push dword [ebp - 0x474]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x478]
call esi
lea ecx, [ebp - 0x6e0]
mov dword [ebp - 4], 0xffffffff
call fcn.00407840
lea eax, [ebp - 0x6e0]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004a6211
add esp, 4
xor al, al
jmp 0x424151
lea eax, [ebp - 0x480]
mov dword [ebp - 0x480], 0x200
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x484], 0
push eax
lea eax, [ebp - 0x484]
push eax
push 0
push ebx
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x424121
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
lea ecx, [ebp - 0x5e8]
mov esi, eax
call fcn.00407790
mov edx, edi
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x470]
call fcn.00424270
push esi
push ecx
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x5d8]
call fcn.0040a2f0
mov edx, 0x4ef678
mov ecx, eax
call fcn.00403cd0
add esp, 4
mov ecx, eax
call fcn.004075f0
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 0x18
call fcn.00403100
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x5e8]
call fcn.004078f0
push eax
mov edx, str.In_getRegedit__HKEY_CURRENT_USER_RegQueryValueEx_error_:
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x440]
call fcn.0040a7d0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x1b
call fcn.00424920
push str.debuglog.txt
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x470]
call fcn.00403c80
add esp, 4
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 0x10
jb 0x4240a3
mov eax, dword [eax]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00424710
add esp, 4
lea ecx, [ebp - 0x470]
call fcn.00403100
lea ecx, [ebp - 0x428]
call fcn.00403100
lea ecx, [ebp - 0x440]
call fcn.00403100
lea ecx, [ebp - 0x458]
call fcn.00403100
push dword [ebp - 0x474]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x478]
call esi
lea ecx, [ebp - 0x580]
mov dword [ebp - 4], 0xffffffff
call fcn.00407840
lea eax, [ebp - 0x580]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004a6211
add esp, 4
xor al, al
jmp 0x424151
lea eax, [ebp - 0x210]
push eax
mov ecx, edi
call fcn.00424cf0
mov eax, dword [ebp - 0x474]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x424142
push eax
call esi
mov eax, dword [ebp - 0x478]
test eax, eax
je 0x42414f
push eax
call esi
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a6d1e
mov esp, ebp
pop ebp
ret