Function at 0x46274a
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x670
mov eax, 0x44c261
call fcn.0043bc61
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x674], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x638], esi
mov esi, dword [ebp - 0x654]
push 2
pop eax
mov dword [esi], eax
test byte [0x4a2941], 8
je 0x4627ad
push eax
mov edx, 0x40ef38
mov ecx, 0x4a05c0
call fcn.00466513
and dword [ebp - 0x644], 0
lea ecx, [ebp - 0x644]
call fcn.00464347
mov ecx, dword [ebp + 4]
mov ebx, eax
test ebx, ebx
jns 0x4627d8
push ebx
push 0x409960
mov edx, 0xa30
call fcn.0045e47c
xor eax, eax
lea edi, [ebp - 0x634]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
test ebx, ebx
js 0x462cf3
cmp edi, 3
jae 0x4628d2
cmp edi, 2
jne 0x462808
cmp dword [ebp - 0x644], 0
je 0x4628c9
imul eax, edi, 0xc
lea ecx, [ebp - 0x648]
mov dword [ebp - 0x66c], eax
push dword [eax + 0x403670]
call fcn.004234c2
and dword [ebp - 4], 0
mov ebx, dword [ebp - 0x648]
mov ecx, dword [ebp + 4]
neg ebx
mov esi, dword [ebp - 0x648]
sbb ebx, ebx
and ebx, 0x7ff8fff2
add ebx, 0x8007000e
jns 0x462859
push ebx
push 0x409960
mov edx, 0xa3d
call fcn.0045e47c
jmp 0x46286e
push dword [ebp - 0x638]
mov ecx, dword [ebp - 0x640]
mov edx, esi
call fcn.00460aae
mov ebx, eax
mov eax, ebx
not eax
shr eax, 0x1f
mov dword [ebp + edi*4 - 0x634], eax
test ebx, ebx
jns 0x462894
mov eax, dword [ebp - 0x66c]
mov eax, dword [eax + 0x403674]
neg eax
sbb eax, eax
not eax
and ebx, eax
test esi, esi
jne 0x46289d
mov esi, 0x407044
push esi
push 0x40e420
push ebx
push 0x409960
push 0xa4c
push dword [ebp + 4]
call fcn.00464a2e
or dword [ebp - 4], 0xffffffff
add esp, 0x18
push dword [ebp - 0x648]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
inc edi
test ebx, ebx
jns 0x4627ed
test ebx, ebx
js 0x462cf3
mov esi, dword [ebp - 0x654]
mov dword [esi], 3
test byte [0x4a2941], 8
je 0x462900
push 3
mov edx, 0x40ef38
mov ecx, 0x4a05c0
call fcn.00466513
mov edi, dword [ebp - 0x670]
lea eax, [ebp - 0x658]
mov edx, dword [ebp - 0x674]
push eax
push 0x20019
push ecx
push edi
call fcn.0043fa36
mov ebx, eax
test ebx, ebx
jle 0x46292e
movzx ebx, bx
or ebx, 0x80070000
push edi
push 0x40ebd8
push ebx
push 0x409960
push 0xa57
push dword [ebp + 4]
call fcn.00464a2e
add esp, 0x18
test ebx, ebx
js 0x462c42
lea eax, [ebp - 0x678]
mov dword [ebp - 0x678], 0x104
push eax
lea eax, [ebp - 0x420]
mov dword [ebp - 0x67c], 2
push eax
lea eax, [ebp - 0x67c]
xor edi, edi
push eax
push 0x40ebe8
push edi
push dword [ebp - 0x658]
call dword [sym.imp.api_ms_win_shcore_registry_l1_1_0.dll_SHGetValueW]
mov ebx, eax
test ebx, ebx
jle 0x46299e
movzx ebx, bx
or ebx, 0x80070000
mov ecx, dword [ebp + 4]
test ebx, ebx
jns 0x462a56
push ebx
push 0x409960
mov edx, 0xa5f
call fcn.0045e47c
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x660], edi
push edi
push eax
mov dword [ebp - 0x65c], edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x660]
call fcn.0046496f
mov esi, dword [ebp - 0x638]
lea ecx, [ebp - 0x660]
mov dword [ebp - 4], 3
push dword [esi + 8]
push dword [esi + 4]
push 0x7d5
call fcn.004649a0
mov edx, dword [esi]
push 0xffffffffffffffff
mov dword [esi + 0xc], eax
push eax
mov esi, dword [edx + 0x10]
mov ecx, esi
push 0x40ebe8
call dword [0x4a3670]
mov ecx, dword [ebp - 0x638]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x660]
call fcn.0043a882
jmp 0x462c31
xor eax, eax
lea ecx, [ebp - 0x650]
mov word [ebp - 0x21a], ax
lea eax, [ebp - 0x420]
push eax
call fcn.004234c2
mov dword [ebp - 4], 1
mov ebx, dword [ebp - 0x650]
mov ecx, dword [ebp + 4]
neg ebx
sbb ebx, ebx
and ebx, 0x7ff8fff2
add ebx, 0x8007000e
jns 0x462aa8
push ebx
push 0x409960
mov edx, 0xa66
call fcn.0045e47c
jmp 0x462c21
push 4
pop eax
mov dword [esi], eax
test byte [0x4a2941], 8
je 0x462ac6
push eax
mov edx, 0x40ef38
mov ecx, 0x4a05c0
call fcn.00466513
push dword [ebp - 0x638]
mov edi, dword [ebp - 0x64c]
mov edx, edi
mov ecx, dword [ebp - 0x640]
sub esp, 0x10
push dword [ebp - 0x650]
call fcn.00461d02
push edi
push 0x40ec10
mov ebx, eax
push ebx
push 0x409960
push 0xa6e
push dword [ebp + 4]
call fcn.00464a2e
add esp, 0x18
test ebx, ebx
js 0x462c21
push 5
pop eax
mov dword [esi], eax
test byte [0x4a2941], 8
je 0x462b2c
push eax
mov edx, 0x40ef38
mov ecx, 0x4a05c0
call fcn.00466513
xor esi, esi
cmp esi, 3
jae 0x462c21
cmp esi, 2
jne 0x462b49
cmp dword [ebp - 0x644], 0
je 0x462c18
cmp dword [ebp + esi*4 - 0x634], 0
je 0x462c18
imul edi, esi, 0xc
lea ecx, [ebp - 0x63c]
push dword [edi + 0x403670]
call fcn.004234c2
mov byte [ebp - 4], 2
mov ebx, dword [ebp - 0x63c]
mov ecx, dword [ebp + 4]
neg ebx
sbb ebx, ebx
and ebx, 0x7ff8fff2
add ebx, 0x8007000e
jns 0x462b9c
push ebx
push 0x409960
mov edx, 0xa80
call fcn.0045e47c
jmp 0x462c08
push dword [ebp - 0x638]
cmp dword [edi + 0x403678], 0
mov edi, dword [ebp - 0x64c]
mov edx, edi
mov ecx, dword [ebp - 0x640]
push dword [ebp - 0x63c]
je 0x462bdf
call fcn.00462090
push dword [ebp - 0x63c]
mov ebx, eax
push edi
push 0x40ec20
push ebx
push 0x409960
push 0xa87
jmp 0x462bfd
call fcn.0046230f
push dword [ebp - 0x63c]
mov ebx, eax
push edi
push 0x40ec20
push ebx
push 0x409960
push 0xa8c
push dword [ebp + 4]
call fcn.00464a2e
add esp, 0x1c
mov byte [ebp - 4], 1
push dword [ebp - 0x63c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
inc esi
test ebx, ebx
jns 0x462b2e
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x650]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x658]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
jmp 0x462cd8
xor esi, esi
lea eax, [ebp - 0x628]
push 0x208
push esi
push eax
mov dword [ebp - 0x668], esi
mov dword [ebp - 0x664], esi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x628]
push 0x104
push eax
push esi
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x668]
call fcn.0046496f
mov esi, dword [ebp - 0x638]
lea ecx, [ebp - 0x668]
mov dword [ebp - 4], 4
push dword [esi + 8]
push dword [esi + 4]
push 0x7d7
call fcn.004649a0
mov ecx, dword [esi]
push 0xffffffffffffffff
mov dword [esi + 0xc], eax
push eax
mov esi, dword [ecx + 0x10]
mov ecx, esi
push edi
call dword [0x4a3670]
mov ecx, dword [ebp - 0x638]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x668]
call fcn.0043a882
test ebx, ebx
js 0x462cf3
cmp dword [ebp - 0x644], 0
je 0x462cf3
cmp dword [ebp - 0x62c], 0
jne 0x462cf3
call fcn.00465418
mov eax, ebx
call fcn.0043bc10
ret 0x10