Function at 0x10020cd0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 0x10]
mov eax, ebx
imul eax, eax, 0x830
push esi
push edi
mov dword [ebp - 0x20], eax
cmp ebx, eax
ja 0x10020d3d
mov edi, dword [ebp + 0x10]
mov edi, edi
cmp ebx, 0xbd08
ja 0x10020f7f
je 0x10020d8d
cmp ebx, 0x3498
ja 0x10020eaf
je 0x10020e0d
mov eax, ebx
sub eax, 0x66
je 0x10020de6
sub eax, 0x52
je 0x10020d47
sub eax, 0x1a
jne 0x10021024
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x10021024
mov byte [ebp - 4], 0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jb 0x10020d59
push ebx
sub ecx, dword [ecx - 0x74e7b275]
inc ecx
or byte [eax - 0x39], cl
inc ebp
hlt
add byte [ecx + eax*2 + 0x48], dh
jne 0x10020ddc
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x10020ddc
push str.V912_NeighbourAbove
push 0x1003455f
push eax
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 0xc], 4
mov edx, dword [ebp - 0xc]
mov ebx, 0xbd08
mov dword [ebp - 4], edx
jmp 0x10021024
mov ebx, 0xb8
jmp 0x10021024
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx]
push 0xdc
push 0
call fcn.10004940
cdq
add esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], 0
jmp 0x10021024
mov eax, dword [edi + 0x48]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x30]
push edx
mov edx, dword [eax]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 4]
push esi
push ecx
push edx
mov dword [ebp - 0x10], 0
call fcn.10028780
mov ecx, dword [ebp - 0x2c]
push ecx
add eax, 1
push esi
adc edx, 0
push edx
push eax
call fcn.100283c0
mov esi, edx
mov edx, dword [ebp + 0xc]
push 0xe8
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [edx]
push ecx
push 0
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], eax
call fcn.10020b30
add esp, 0xc
cmp esi, edx
ja 0x10021024
jb 0x10020e7e
cmp dword [ebp - 0x28], eax
ja 0x10021024
push str.inAudioDataReceived.mExporterInstanceID
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 0x10], 4
mov ebx, 0x16dc4
jmp 0x10021024
cmp ebx, 0x68ca
je 0x10020f3d
cmp ebx, 0x6c48
je 0x10020f12
cmp ebx, 0x9cfc
jne 0x10021024
cmp dword [ebp - 8], 0
jne 0x10021024
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
push edx
push eax
push str.VmodlVimVslmVStorageObjectManagerBase
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x20
mov dword [ebp - 0x10], 5
mov ebx, 0x16dc4
jmp 0x10021024
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [edx]
push 0
push 0
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
sete cl
mov byte [ebp - 4], cl
jmp 0x10021024
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x10020f6a
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x1c], edx
lea edx, [ebp - 0x1c]
push 0x3f
push edx
mov dword [ebp - 0x18], eax
call fcn.10001630
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x10021024
mov ecx, dword [ebp - 0x28]
push ecx
push eax
call fcn.1002714c
add esp, 8
mov dword [ebp - 8], eax
jmp 0x10021024
cmp ebx, 0x11b30
ja 0x10020fde
je 0x10020d3d
cmp ebx, 0xd12e
je 0x10020fb7
cmp ebx, 0xd7be
je 0x10020d3d
cmp ebx, 0x10560
jne 0x10021024
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
jmp 0x10021024
cmp dword [edi + 0x28], 0
lea esi, [edi + 0x28]
jne 0x10020fd7
mov edx, dword [ebp - 0x14]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 8]
push edx
push eax
push ecx
call fcn.10027680
add esp, 0xc
mov dword [edi + 0x48], esi
mov edx, dword [ebp - 8]
mov dword [esi], edx
jmp 0x10021024
cmp ebx, 0x13992
je 0x10021004
cmp ebx, 0x16dc4
je 0x10020ea5
cmp ebx, 0x1a1f6
jne 0x10021024
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi + 0x28]
add ecx, eax
cdq
mov dword [edi + 0x2c], ecx
mov ecx, dword [edi + 0x30]
sub ecx, eax
mov eax, dword [edi + 0x34]
sbb eax, edx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], eax
mov byte [edi + 0x40], 1
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x83
add ebx, ecx
cmp ebx, dword [ebp - 0x20]
jbe 0x10020cf0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret