Function at 0x4385e0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x4bc1dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4bde04]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test al, 1
jne 0x438623
or eax, 1
mov dword [0x4bde00], 0
push 0x48ef50
mov dword [0x4bde04], eax
call fcn.00471422
add esp, 4
mov ecx, 0x4bde00
call fcn.0046b860
test eax, eax
jne 0x4386d5
push 0x498f38
mov ecx, 0x4bde00
call fcn.0046b290
lea eax, [ebp - 0x408]
mov dword [ebp - 0x408], 0
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x4386d5
lea eax, [ebp - 0x410]
push eax
push 0x400
lea eax, [ebp - 0x404]
push eax
push 1
push dword [ebp - 0x408]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x4386c9
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x40c], 0
push eax
push dword [ebp - 0x404]
call sub.ADVAPI32.dll_ConvertSidToStringSidW
test eax, eax
je 0x4386c9
push dword [ebp - 0x40c]
mov ecx, 0x4bde00
call fcn.0046b290
push dword [ebp - 0x40c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x408]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp word [0x4bde08], 0
jne 0x438777
lea eax, [ebp - 0x410]
push eax
push 1
push 0
push str.SYSTEMSelect
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x438759
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x408], 0xffffffff
push eax
lea eax, [ebp - 0x408]
mov dword [ebp - 0x40c], 4
push eax
push 0
push 0
push str.Current
push dword [ebp - 0x410]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x408]
cmp eax, 0xffffffff
je 0x438759
push eax
push str._03d
push 4
push 0x4bde08
call fcn.00431c50
add esp, 0x10
cmp word [0x4bde08], 0
jne 0x438777
push 0x4a2b54
push 4
push 0x4bde08
call fcn.00470605
add esp, 0xc
cmp word [edi], 0xa
jbe 0x43893f
push 0xa
push 0x4a2b58
push esi
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x43893f
cmp word [edi], 0x11
jb 0x43885c
push 7
lea eax, [esi + 0x14]
push str.MACHINE
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x43885c
cmp word [edi], 0x44
jb 0x4387e7
push 0x33
lea eax, [esi + 0x22]
push str.SYSTEMCURRENTCONTROLSETHARDWARE_PROFILESCURRENT
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x4387e7
push 0x49cabc
push 0x44
jmp 0x438933
cmp word [edi], 0x22
jb 0x438810
push 0x11
lea eax, [esi + 0x22]
push str.SOFTWARECLASSES
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x438810
push 0x49ca90
push 0x22
jmp 0x438933
cmp word [edi], 0x26
jb 0x438850
push 0x12
lea eax, [esi + 0x22]
push str.SYSTEMControlSet
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x438850
push 3
lea eax, [esi + 0x46]
push 0x4bde08
push eax
call fcn.00473d2b
add esp, 0xc
test eax, eax
jne 0x438850
push str.HKLMSystemCurrentControlSet
push 0x26
jmp 0x438933
push 0x49caa8
push 0x11
jmp 0x438933
cmp word [edi], 0xe
jb 0x43893f
push 4
lea eax, [esi + 0x14]
push str.USER
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x43893f
mov ecx, 0x4bde00
call fcn.0046b860
movzx ecx, word [edi]
add eax, 0xf
cmp ecx, eax
jb 0x43892c
cmp word [esi + 0x1c], 0x5c
jne 0x43892c
mov ecx, 0x4bde00
call fcn.0046b860
push eax
mov ecx, 0x4bde00
call fcn.0046b310
push eax
lea eax, [esi + 0x1e]
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x43892c
mov ecx, 0x4bde00
call fcn.0046b860
movzx ecx, word [edi]
add eax, 0x17
cmp ecx, eax
jb 0x438917
push 8
push str._CLASSES
mov ecx, 0x4bde00
call fcn.0046b860
add eax, 0xf
lea eax, [esi + eax*2]
push eax
call fcn.00471574
add esp, 0xc
test eax, eax
jne 0x438917
push str.HKCUSoftwareClasses
mov ecx, 0x4bde00
call fcn.0046b860
add eax, 0x17
push eax
jmp 0x438933
push 0x49ca9c
mov ecx, 0x4bde00
call fcn.0046b860
add eax, 0xf
push eax
jmp 0x438933
push 0x49cab4
push 0xe
push 0
push edi
push esi
call fcn.00437c50
add esp, 0x14
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00470e77
mov esp, ebp
pop ebp
ret