Function at 0x10513d3
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x1d4
mov eax, 0x10d058d
call fcn.010b534f
xor esi, esi
mov dword [ebp - 0x30], 0x1001fd0
mov dword [ebp - 0x2c], esi
movzx eax, byte [ebp + 0x14]
mov edi, dword [ebp + 0xc]
neg eax
sbb eax, eax
and eax, 0x100
or eax, 0x20019
cmp dword [edi + 0x18], 8
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
jb 0x1051417
mov ecx, dword [edi + 4]
jmp 0x105141a
lea ecx, [edi + 4]
lea edx, [ebp - 0x2c]
push edx
push eax
push esi
push ecx
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp + 0x14], eax
cmp eax, esi
je 0x105155f
push esi
push 7
lea ecx, [ebp - 0x44]
call fcn.01033bfc
xor ebx, ebx
inc ebx
push 0x1002348
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], bl
call fcn.01033c5d
push dword [ebp + 0x14]
lea eax, [ebp - 0x98]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x60]
push 0x1002328
push eax
mov byte [ebp - 4], 2
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x60]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], bl
call fcn.01032f16
push dword [ebp + 8]
lea eax, [ebp - 0x98]
push eax
call fcn.0103c59a
push eax
lea eax, [ebp - 0x60]
push 0x1002314
push eax
mov byte [ebp - 4], 4
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x60]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], bl
call fcn.01032f16
push edi
lea eax, [ebp - 0x60]
push 0x1002304
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.01032f16
push dword [ebp + 0x10]
push 0x10022f4
lea eax, [ebp - 0x60]
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.01032f16
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x28]
push eax
call fcn.010b4e4c
mov edi, dword [ebp + 0x10]
cmp dword [edi + 0x18], 8
jb 0x105156d
mov eax, dword [edi + 4]
jmp 0x1051570
lea eax, [edi + 4]
lea ecx, [ebp - 0x10]
push ecx
push esi
lea ecx, [ebp - 0x14]
push ecx
push esi
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
cmp ebx, esi
je 0x10516e5
push esi
push 7
lea ecx, [ebp - 0x44]
call fcn.01033bfc
push 0x1002258
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x10
call fcn.01033c5d
push 0x10021a8
lea ecx, [ebp - 0x44]
call fcn.01033c5d
push ebx
lea eax, [ebp - 0xe4]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x1a8]
push 0x1002180
push eax
mov byte [ebp - 4], 0x11
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.01033bb7
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x1a8]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x10
call fcn.01032f16
push dword [ebp + 8]
lea eax, [ebp - 0x11c]
push eax
call fcn.0103c59a
push eax
lea eax, [ebp - 0x1e0]
push 0x1002314
push eax
mov byte [ebp - 4], 0x13
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x14
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x1e0]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x10
call fcn.01032f16
push dword [ebp + 0xc]
lea eax, [ebp - 0x18c]
push 0x1002304
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x15
call fcn.01033bb7
push esi
mov byte [ebp - 4], 0x10
push ebx
lea ecx, [ebp - 0x18c]
call fcn.01032f16
push edi
lea eax, [ebp - 0x154]
push 0x10022f4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x16
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x10
call fcn.01032f16
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xc8]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0xc8]
jmp 0x1051559
cmp dword [ebp - 0x14], 4
je 0x1051833
push esi
push 0x16
lea ecx, [ebp - 0x28]
call fcn.01033bfc
push 0x10020e8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.01033c5d
push esi
lea eax, [ebp - 0x100]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x1c4]
push 0x1002180
push eax
mov byte [ebp - 4], 9
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call fcn.01033bb7
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x1c4]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 8
call fcn.01032f16
push dword [ebp + 8]
lea eax, [ebp - 0x170]
push eax
call fcn.0103c59a
push eax
lea eax, [ebp - 0x138]
push 0x1002314
push eax
mov byte [ebp - 4], 0xb
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xc
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 8
call fcn.01032f16
push dword [ebp + 0xc]
lea eax, [ebp - 0xb4]
push 0x1002304
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xd
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 8
call fcn.01032f16
push edi
push 0x10022f4
lea eax, [ebp - 0x7c]
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 8
call fcn.01032f16
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x90]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x90]
jmp 0x1051559
mov eax, dword [ebp - 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
inc eax
push eax
push 8
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp + 0x10], eax
cmp eax, esi
jne 0x1051885
push esi
push 0x14
lea ecx, [ebp - 0x28]
call fcn.01033bfc
push 0x10020b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xf
call fcn.01033c5d
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x58]
jmp 0x1051559
cmp dword [edi + 0x18], 8
jb 0x1051890
mov eax, dword [edi + 4]
jmp 0x1051893
lea eax, [edi + 4]
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp + 0x10]
lea ecx, [ebp - 0x14]
push ecx
push esi
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp + 0x14], eax
cmp eax, esi
je 0x10519db
push dword [ebp + 0x10]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push esi
push 7
lea ecx, [ebp - 0x28]
call fcn.01033bfc
push 0x1002028
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.01033c5d
push dword [ebp + 0x14]
lea eax, [ebp - 0xb4]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x7c]
push 0x1002180
push eax
mov byte [ebp - 4], 0x18
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x19
call fcn.01033bb7
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x7c]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x17
call fcn.01032f16
push dword [ebp + 8]
lea eax, [ebp - 0xb4]
push eax
call fcn.0103c59a
push eax
lea eax, [ebp - 0x7c]
push 0x1002314
push eax
mov byte [ebp - 4], 0x1a
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1b
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x7c]
call fcn.01032f16
push esi
push ebx
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x17
call fcn.01032f16
push dword [ebp + 0xc]
lea eax, [ebp - 0x7c]
push 0x1002304
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1c
call fcn.01033bb7
mov byte [ebp - 4], 0x17
push esi
push ebx
lea ecx, [ebp - 0x7c]
call fcn.01032f16
push edi
lea eax, [ebp - 0x7c]
push 0x10022f4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1d
call fcn.01033bb7
push esi
push ebx
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x17
call fcn.01032f16
jmp 0x105186c
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
push eax
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x1001fd0
call fcn.0103431b
mov eax, edi
call fcn.010b543b
ret 0x10