Function at 0x1001b84d
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x100823df
call fcn.100819a0
sub esp, 0xa0
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x18], 8
push edi
mov dword [ebp - 0x40], edx
mov edi, ecx
mov dword [ebp - 0x18], ebx
jmp 0x1001b8ce
push 4
lea ecx, [ebp - 0x6c]
call fcn.10016f4f
mov dword [ebp - 0x14], ebx
jmp 0x1001b890
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0xde0b4074
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001b882
mov dword [ebp - 0x14], ebx
jmp 0x1001b8a7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001b89b
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 4], ebx
mov eax, dword [ecx + 4]
inc dword [ecx + 4]
cmp dword [ecx + 4], 2
mov dword [ebp + eax*4 - 0x80], ebx
jl 0x1001b8b3
lea ecx, [ebp - 0x6c]
call fcn.100177aa
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe2
jne 0x1001b873
cmp byte [ebp + 8], bl
je 0x1001bcdb
movdqa xmm0, xmmword [0x10007ee0]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x1c], 0xb3ae3556
lea ecx, [ebp - 0x4c]
mov dword [ebp + 8], 0xb818f8f6
push dword [ebp + 8]
mov dword [ebp - 0x20], 0xfffffff8
push eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x24], 0xa2fc53d
push eax
push ebx
movdqu xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.100184f1
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], 0xfffffff1
cmp dword [ebp - 0x1c], 0xe
je 0x1001bafd
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], 0x1c17c774
mov dword [ebp + 8], ebx
jmp 0x1001b95d
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x30], 0x73eb905d
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jl 0x1001b94f
mov dword [ebp - 0x14], ebx
jmp 0x1001ba94
push 1
lea ecx, [ebp - 0x3c]
call fcn.10016f4f
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x18], 3
push 4
call fcn.10016f4f
mov dword [ebp + 8], ebx
jmp 0x1001b99f
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x6d2e8588
inc dword [ebp + 8]
cmp dword [ebp + 8], 1
jl 0x1001b98f
mov dword [ebp + 8], ebx
jmp 0x1001b9ba
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x3ae4c7ba
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x1001b9aa
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1001b9d5
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x3c]
mov dword [eax], ebx
mov dword [ebp + 8], 0xe4562513
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1001b9f2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp + 8], ebx
jmp 0x1001ba6a
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1001ba1d
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x30], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x1001ba03
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x30]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
dec ecx
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 6
setl al
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x18]
add eax, 0x27a2
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setge dl
mov dword [eax], edx
inc dword [ebp + 8]
cmp dword [ebp + 8], 1
jle 0x1001b9f7
mov eax, dword [ebp - 0x3c]
inc dword [eax]
cmp dword [eax], 1
jle 0x1001b9da
lea ecx, [ebp - 0x60]
call fcn.100177aa
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
call fcn.100177aa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x1001b96b
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp + 8], ebx
jne 0x1001bacf
cmp dword [ebp - 0x14], ebx
jne 0x1001bacf
mov eax, ebx
jmp 0x1001bad2
xor eax, eax
inc eax
mov dword [ebp + 8], eax
xor edx, edx
mov eax, dword [ebp + 8]
sub eax, 0x6e57c533
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
mov dword [esi + 4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
jne 0x1001b940
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.100177aa
mov dword [ebp + 8], 0x3ae35568
mov dword [ebp - 0x20], 0x43eb6069
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0xd62a04f7
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 8], 0xe
jmp 0x1001bbaa
mov dword [ebp - 0x1c], 0xd3f7
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
cmp dword [ebp + 8], ebx
je 0x1001bb5f
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x8b01
setle cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp - 0x20]
sub esi, dword [ebp + 8]
add esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
xor eax, eax
cmp esi, edx
setg al
neg eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x18], ebx
jne 0x1001bbb0
dec dword [ebp + 8]
cmp dword [ebp + 8], 0xfffffffb
je 0x1001bb35
push 1
lea ecx, [ebp - 0x78]
call fcn.10016f4f
mov dword [ebp + 8], 0x12b57e8b
mov dword [ebp + 8], 0x4b5c
mov dword [ebp + 8], 0x12aa53f0
mov dword [ebp + 8], 0x678e
mov dword [ebp + 8], 0x574b
mov dword [ebp + 8], ebx
mov dword [ebp + 8], 3
mov dword [ebp + 8], ebx
jmp 0x1001bbfc
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x99ac
inc dword [ebp + 8]
cmp dword [ebp + 8], 1
jl 0x1001bbec
mov dword [ebp + 8], ebx
jmp 0x1001bc18
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0xac], 0x2edc7555
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x1001bc07
mov dword [ebp + 8], ebx
jmp 0x1001bc34
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x9c], 2
inc dword [ebp + 8]
cmp dword [ebp + 8], 3
jl 0x1001bc23
mov dword [ebp + 8], ebx
jmp 0x1001bc4d
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x54], 0xeeb
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jl 0x1001bc3f
inc dword [ebp - 0x54]
lea ecx, [ebp - 0x78]
call fcn.100177aa
cmp dword [edi], 0xfffb
mov esi, dword [ebp + 0x14]
sbb eax, eax
xor edx, edx
neg eax
test eax, eax
mov eax, dword [esi]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0xc]
setle cl
xor edx, edx
mov dword [eax], ecx
mov ecx, dword [eax]
mov eax, dword [esi]
cmp ecx, eax
mov ecx, dword [esi]
setge dl
imul ecx, edx
sub ecx, 0x3d87e3bc
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
inc eax
sub eax, ecx
cmp eax, 4
jg 0x1001bca7
mov eax, dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [eax + 4], edx
mov eax, dword [edi]
test eax, eax
setns cl
xor eax, eax
cmp ecx, 1
setge al
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0x10]
setle cl
xor edx, edx
cmp ecx, 0x8c9f
setge dl
mov dword [eax], edx
jmp 0x1001bce9
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret