Function at 0x416c21
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x49ad6c
call fcn.00498a28
sub esp, 0x108
cmp dword [edx + 0x14], 7
push ebx
push esi
mov esi, dword [ebp + 8]
push 4
pop ebx
mov dword [ebp + 8], ebx
jbe 0x416c44
mov edx, dword [edx]
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push edx
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x416e18
cmp dword [ebp + 8], ebx
jne 0x416c74
cmp dword [ebp - 0x10], ebx
jne 0x416c74
mov esi, dword [ebp - 0x14]
jmp 0x416e6e
xor edx, edx
xor ecx, ecx
call fcn.0040bdc2
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x3f]
mov dword [ebp - 0x3c], 0x2cb
mov dword [ebp - 0x38], 0x11
mov dword [ebp - 0x34], str.C:BooCode_OffergateMultiSetupoglibOGLiboglibutils_system_utils.cpp
mov dword [ebp - 0x30], str.unsigned_long___cdecl_og::system_utils::GetDwordFromRegistry_struct_HKEY____const_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t_____const_unsigned_long_
call fcn.0040ffba
push ecx
lea ecx, [ebp - 0x3f]
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.00410071
and dword [ebp - 4], 0
lea ecx, [ebp - 0x3f]
mov edx, ebx
call fcn.0040ffba
push ecx
lea ecx, [ebp - 0x3f]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00410071
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3f]
mov edx, dword [ebp + 8]
call fcn.0040ffba
push ecx
lea ecx, [ebp - 0x3f]
push ecx
push eax
lea ecx, [ebp - 0xfc]
call fcn.00410071
push 9
push str.dataSize
push ecx
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 2
call fcn.0040efea
push eax
lea ecx, [ebp - 0xe4]
call fcn.00403476
push 9
push str.__result
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 3
call fcn.0040ff44
push eax
lea ecx, [ebp - 0xcc]
call fcn.00403476
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0xcc]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0xb4]
call fcn.0040ec20
push 0xb
push str.__dataType
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 5
call fcn.0040ff44
push eax
lea ecx, [ebp - 0x2c]
call fcn.00403476
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x9c]
call fcn.0040ec20
push str.Read_registry_DWORD_error
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 7
call fcn.00403061
push ecx
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040be78
lea ecx, [ebp - 0x84]
call fcn.00402fc0
lea ecx, [ebp - 0x9c]
call fcn.00402fc0
lea ecx, [ebp - 0x2c]
call fcn.00402fc0
lea ecx, [ebp - 0xb4]
call fcn.00402fc0
lea ecx, [ebp - 0xcc]
call fcn.00402fc0
lea ecx, [ebp - 0xe4]
call fcn.00402fc0
lea ecx, [ebp - 0xfc]
call fcn.00402fc0
lea ecx, [ebp - 0x6c]
call fcn.00402fc0
lea ecx, [ebp - 0x114]
jmp 0x416e69
xor edx, edx
xor ecx, ecx
call fcn.0040bdc2
push 0x4b2fd5
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x24], 0x2d2
mov dword [ebp - 0x20], 0xd
mov dword [ebp - 0x1c], str.C:BooCode_OffergateMultiSetupoglibOGLiboglibutils_system_utils.cpp
mov dword [ebp - 0x18], str.unsigned_long___cdecl_og::system_utils::GetDwordFromRegistry_struct_HKEY____const_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t_____const_unsigned_long_
call fcn.00403061
mov dword [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
push eax
call fcn.0040be49
lea ecx, [ebp - 0x6c]
call fcn.00402fc0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret