Function at 0xa35d80
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0xad195d
mov eax, dword fs:[0]
push eax
mov eax, 0x1110
call fcn.00a94750
mov eax, dword [0xaf97a0]
xor eax, esp
mov dword [esp + 0x1108], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0xaf97a0]
xor eax, esp
push eax
lea eax, [esp + 0x1124]
mov dword fs:[0], eax
mov eax, dword [esp + 0x113c]
xor ebx, ebx
push 0xfff
lea ecx, [esp + 0x121]
push ebx
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], 0x1000
mov byte [esp + 0x128], bl
call fcn.00a827a0
add esp, 0xc
lea edx, [esp + 0xfc]
push edx
mov ecx, str.E1A7B2AF_FC93_4311_A391_03C77F5411B9
call fcn.00a63660
cmp dword [esp + 0x1138], 2
mov dword [esp + 0x112c], ebx
jne 0xa35e64
lea eax, [esp + 0x28]
push eax
mov ecx, str.DCCD4FD0_0844_49ba_82F3_6AABF3F574C2
call fcn.00a63660
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x10c]
mov byte [esp + 0x1138], 1
call fcn.00a11910
dec dword [0xafcc40]
cmp dword [esp + 0x44], 8
mov ebp, vtable.LString.0
mov dword [esp + 0x28], ebp
jb 0xa35e69
mov edx, dword [esp + 0x30]
push edx
call fcn.00a7ac28
add esp, 4
jmp 0xa35e69
mov ebp, vtable.LString.0
xor ecx, ecx
mov word [esp + 0xc0], cx
mov ecx, dword [0xafcc40]
inc ecx
mov eax, 7
xor edx, edx
inc ecx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ebx
mov word [esp + 0xe0], dx
mov dword [0xafcc40], ecx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xb0], bl
lea eax, [esp + 0x28]
push eax
mov ecx, str.SoftwareMicrosoft
mov byte [esp + 0x1130], 2
call fcn.00a63660
push 0x2001f
push ebx
lea ecx, [esp + 0x30]
push ecx
lea esi, [esp + 0xb8]
mov byte [esp + 0x1138], 3
call fcn.00a630e0
mov byte [esp + 0x112c], 2
dec dword [0xafcc40]
cmp dword [esp + 0x44], 8
mov dword [esp + 0x28], ebp
jb 0xa35f2b
mov edx, dword [esp + 0x30]
push edx
call fcn.00a7ac28
add esp, 4
mov eax, dword [esp + 0x1134]
push 0xa
push eax
lea edi, [esp + 0x74]
mov dword [esp + 0x28], ebx
call fcn.00a63850
lea ecx, [esp + 0x8c]
push ecx
mov ecx, 0xaebe68
mov byte [esp + 0x1130], 4
call fcn.00a63660
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x100]
lea edi, [esp + 0x2c]
mov byte [esp + 0x1130], 5
call fcn.00a66a60
add esp, 4
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
lea edi, [esp + 0x50]
mov byte [esp + 0x1130], 6
call fcn.00a66a60
add esp, 4
mov dword [esp + 0xac], ebx
mov edi, 8
cmp byte [esp + 0xb0], bl
jne 0xa35fb5
mov byte [esp + 0x1b], bl
jmp 0xa36002
mov dword [esp + 0x48], 3
cmp dword [eax + 0x1c], edi
jb 0xa35fc7
mov eax, dword [eax + 8]
jmp 0xa35fca
add eax, 8
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0x50]
push edx
push ebx
push eax
mov eax, dword [esp + 0xc8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, ebx
mov dword [esp + 0xac], eax
sete byte [esp + 0x1b]
dec dword [0xafcc40]
mov dword [esp + 0x4c], ebp
cmp dword [esp + 0x68], edi
jb 0xa3601f
mov ecx, dword [esp + 0x54]
push ecx
call fcn.00a7ac28
add esp, 4
dec dword [0xafcc40]
xor edx, edx
mov esi, 7
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ebx
mov word [esp + 0x54], dx
mov dword [esp + 0x28], ebp
cmp dword [esp + 0x44], edi
jb 0xa36050
mov eax, dword [esp + 0x30]
push eax
call fcn.00a7ac28
add esp, 4
dec dword [0xafcc40]
xor ecx, ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], cx
mov dword [esp + 0x8c], ebp
cmp dword [esp + 0xa8], edi
jb 0xa36085
mov edx, dword [esp + 0x94]
push edx
call fcn.00a7ac28
add esp, 4
mov byte [esp + 0x112c], 2
dec dword [0xafcc40]
xor eax, eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebx
mov word [esp + 0x94], ax
mov dword [esp + 0x6c], ebp
cmp dword [esp + 0x88], edi
jb 0xa360c5
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00a7ac28
add esp, 4
cmp byte [esp + 0x1b], bl
je 0xa36196
push 0xc
push str.PSWDdevParam
lea ecx, [esp + 0x94]
mov dword [esp + 0xac], 0xf
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
call fcn.00a111b0
xor esi, esi
cmp dword [esp + 0x1c], ebx
jbe 0xa36174
mov ecx, dword [esp + 0xa0]
xor edx, edx
mov eax, esi
div ecx
mov edi, edx
cmp edi, ecx
jbe 0xa3611b
call fcn.00a7c884
cmp dword [esp + 0xa4], 0x10
mov ebp, dword [esp + 0x90]
jae 0xa36133
lea ebp, [esp + 0x90]
mov eax, dword [esp + 0x24]
cmp esi, dword [eax + 0x14]
jbe 0xa36145
call fcn.00a7c884
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x18], 0x10
jb 0xa36152
add eax, 4
mov eax, dword [eax]
jmp 0xa36155
add eax, 4
mov dl, byte [edi + ebp]
xor dl, byte [esp + esi + 0x11c]
inc esi
mov byte [eax + esi - 1], dl
cmp esi, dword [esp + 0x1c]
jb 0xa36103
mov ebp, vtable.LString.0
mov edi, 8
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0x20], 1
jb 0xa36196
mov eax, dword [esp + 0x90]
push eax
call fcn.00a7ac28
add esp, 4
mov dword [esp + 0xac], ebx
cmp byte [esp + 0xb0], bl
je 0xa361c2
mov ecx, dword [esp + 0xb4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0xac], ebx
mov byte [esp + 0xb0], bl
lea esi, [esp + 0xac]
call fcn.00a63050
dec dword [0xafcc40]
mov dword [esp + 0xfc], ebp
cmp dword [esp + 0x118], edi
jb 0xa361f4
mov edx, dword [esp + 0x104]
push edx
call fcn.00a7ac28
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1124]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1108]
xor ecx, esp
call fcn.00a7a967
add esp, 0x111c
ret 0xc