Function at 0x1001b732
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x1007f9ef
call fcn.1007efe0
sub esp, 0x64
push ebx
push edi
mov edi, ecx
mov dword [ebp - 0x38], edx
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jne 0x1001b754
xor al, al
jmp 0x1001bb2f
push esi
lea eax, [ebp - 0x38]
mov edx, 0x1ac4
push 0x2470
push eax
xor cl, cl
call fcn.1001b473
pop ecx
pop ecx
push 4
pop esi
push esi
lea ecx, [ebp - 0x64]
call fcn.10016d2b
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0x22ba3946
mov dword [ebp - 0x18], 0xc15d0d65
mov dword [ebp - 0x3c], 0x6e1580eb
mov dword [ebp - 0x14], ebx
jmp 0x1001b7a5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b795
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x1001b8ce
mov dword [ebp - 0x34], 0x92eda8ed
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
xor ebx, ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
mov eax, dword [ebp - 0x18]
setg bl
imul eax, ebx
xor ebx, ebx
test eax, eax
je 0x1001b83d
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x1001b851
push ebx
lea eax, [ebp - 0x64]
push eax
push 0x2d45
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x2d03
call fcn.1001bb7d
add esp, 0x28
dec dword [ebp - 0x18]
jns 0x1001b807
jmp 0x1001b851
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1001b851
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x1c], ebx
jmp 0x1001b8bf
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x34], ebx
jne 0x1001b8c5
cmp dword [ebp - 0x30], ebx
je 0x1001b86d
cmp dword [ebp - 0x28], ebx
je 0x1001b86d
xor ecx, ecx
inc ecx
jmp 0x1001b86f
mov ecx, ebx
xor eax, eax
cmp ecx, 0x39802ee
push 0
setge al
xor ecx, ecx
cmp eax, 7
setne cl
xor eax, eax
cmp ecx, 0x2184
mov ecx, dword [ebp - 0x30]
setge al
neg ecx
mov dword [ebp - 0x24], eax
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setne dl
xor ebx, ebx
cmp edx, dword [ebp - 0x24]
setl bl
xor ecx, ecx
sub ebx, eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
pop ebx
setg cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1001b856
dec dword [ebp - 0x14]
jns 0x1001b7ba
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.10016dad
cmp dword [edi + 0x14], 0x10
jb 0x1001b8e4
mov esi, dword [edi]
jmp 0x1001b8e6
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x1001b8f0
mov ecx, dword [edi]
jmp 0x1001b8f2
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001bb2c
mov dword [ebp - 0x20], 0xd6c05baf
mov dword [ebp - 0x20], ebx
jmp 0x1001b979
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1001b970
push 3
lea ecx, [ebp - 0x70]
call fcn.10016d2b
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - 0x48], 0x20e32cf4
lea edx, [ebp - 0x50]
push 0x7c3
mov cl, 1
call fcn.1001b473
push ebx
lea eax, [ebp - 0x48]
push eax
push 0x2ea
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x4c]
call fcn.1001b701
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
add esp, 0x14
call fcn.10016dad
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff8
jl 0x1001b91e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x19
jle 0x1001b90b
mov al, byte [esi]
cmp al, 0x30
jl 0x1001b99f
cmp al, 0x39
jg 0x1001b99f
mov edx, dword [ebp - 0x38]
movsx eax, al
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x1001b8e6
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001b9b8
push ebx
push 0x6245
call fcn.1001be55
pop ecx
pop ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001b9d4
push 0x37d6
push 0x60a3
push ebx
call fcn.1001e32a
add esp, 0xc
push ebx
lea eax, [ebp - 0x38]
push eax
push 0x1cea
push 0x7307
call fcn.1001bde2
mov dword [ebp - 0x28], 0xffffffff
add esp, 0x10
mov dword [ebp - 0x20], ebx
jmp 0x1001ba05
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x2c], 0xc2e0cf57
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x1001b9f7
push 1
lea eax, [ebp - 0xe]
mov byte [ebp - 0xe], bl
push 0x3134
push eax
mov edx, 0x73e6
mov ecx, 0x7a11
call fcn.1001b701
mov dword [ebp - 0x28], ebx
add esp, 0xc
cmp dword [ebp - 0x28], ebx
jl 0x1001bb28
mov dword [ebp - 0x30], 0x532bb11a
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jl 0x1001bb1f
mov dword [ebp - 0x24], 0xc9ebf495
mov dword [ebp - 0x20], ebx
jmp 0x1001ba64
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x58], 1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1001ba56
mov dword [ebp - 0x54], ebx
jmp 0x1001bae5
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x24], ebx
jmp 0x1001badd
lea eax, [ebp - 0xf]
mov dword [ebp - 0x14], 0x1d8b9dbe
push ebx
mov byte [ebp - 0xf], bl
push eax
call fcn.1001bd84
mov dword [ebp - 0x14], ebx
pop ecx
pop ecx
cmp dword [ebp - 0x14], ebx
jl 0x1001bada
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1001bad5
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x2c], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001bad0
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
dec dword [ebp - 0x20]
jns 0x1001baa8
dec dword [ebp - 0x14]
jns 0x1001ba99
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1001ba7b
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], ebx
jle 0x1001ba6f
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1001bb16
mov dword [ebp - 0x20], 9
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x2c], ebx
je 0x1001bb0c
cmp dword [ebp - 0x2c], ebx
je 0x1001bb0c
xor eax, eax
inc eax
jmp 0x1001bb0e
mov eax, ebx
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x24]
jns 0x1001baf2
dec dword [ebp - 0x30]
jns 0x1001ba4a
dec dword [ebp - 0x28]
jns 0x1001ba37
xor al, al
jmp 0x1001bb2e
mov al, 1
pop esi
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret