Function at 0x10939c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x1093a5
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x109cb1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
mov byte [eax], 0
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x28]
call fcn.0002dadc
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00013c90
push 0x109cc8
lea edx, [ebp - 0x2c]
mov eax, 0x109cdc
call fcn.00031d88
push dword [ebp - 0x2c]
lea eax, [ebp - 0x30]
call fcn.0002c5c8
push dword [ebp - 0x30]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00013f8c
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x1097a4
mov eax, dword [ebp - 4]
mov edx, dword [0xfaec8]
call fcn.0001587c
lea edx, [ebp - 0x34]
mov eax, 0x109ce0
call fcn.00031d88
mov eax, dword [ebp - 0x34]
push eax
lea edx, [ebp - 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00035eb0
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x18]
pop ecx
call fcn.00013f18
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, 0x20
call fcn.00019220
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x10979d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x2a9118]
mov eax, dword [eax]
add eax, 0x20019
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.00014090
push eax
push 0x80000003
call sub.advapi32.dll_RegOpenKeyExA_1
mov ebx, eax
test ebx, ebx
je 0x1094d6
lea edx, [ebp - 0x3c]
mov eax, 0x109cf8
call fcn.00031d88
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x40]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x1c], 0
je 0x109773
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.00014090
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
mov ebx, eax
test ebx, ebx
je 0x10953e
lea edx, [ebp - 0x44]
mov eax, 0x109d08
call fcn.00031d88
lea eax, [ebp - 0x44]
push eax
lea edx, [ebp - 0x48]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x48]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x14], 0
jbe 0x109773
cmp dword [ebp - 0x14], 0x2800
ja 0x109773
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov ecx, 1
mov edx, dword [0xfaec8]
call fcn.00015870
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
call fcn.00018028
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.00014090
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
mov ebx, eax
test ebx, ebx
je 0x1095d9
lea edx, [ebp - 0x4c]
mov eax, 0x109d18
call fcn.00031d88
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x50]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x50]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
xor ebx, ebx
jmp 0x10960b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014548
add eax, eax
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014538
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
add eax, ebx
pop ecx
call fcn.000330cc
mov edx, dword [ebp - 8]
mov byte [edx], al
inc ebx
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x10963d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014548
add eax, eax
add eax, ebx
cdq
push edx
push eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x109639
cmp eax, dword [esp]
pop edx
pop eax
ja 0x1095dd
jmp 0x10963d
pop edx
pop eax
jg 0x1095dd
cmp dword [ebp - 0x1c], 0
je 0x10964c
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x54]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00035eb0
push dword [ebp - 0x54]
lea edx, [ebp - 0x58]
mov eax, 0x109d28
call fcn.00031d88
push dword [ebp - 0x58]
lea eax, [ebp - 0x5c]
call fcn.000277dc
push dword [ebp - 0x5c]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00013f8c
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x2a9118]
mov eax, dword [eax]
add eax, 0x20019
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.00014090
push eax
push 0x80000003
call sub.advapi32.dll_RegOpenKeyExA_1
mov ebx, eax
test ebx, ebx
je 0x1096e8
lea edx, [ebp - 0x60]
mov eax, 0x109d34
call fcn.00031d88
lea eax, [ebp - 0x60]
push eax
lea edx, [ebp - 0x64]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x64]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x1c], 0
je 0x109773
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x24]
call fcn.00014090
mov ecx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.000189b4
mov ebx, eax
test ebx, ebx
je 0x109751
lea edx, [ebp - 0x68]
mov eax, 0x109d44
call fcn.00031d88
lea eax, [ebp - 0x68]
push eax
lea edx, [ebp - 0x6c]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x6c]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x20], 1
jne 0x109773
cmp dword [ebp - 0x14], 1
jbe 0x109773
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x10]
call fcn.0001899c
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0xc]
call fcn.00013c90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1097a4
cmp dword [ebp - 0x1c], 0
je 0x10978f
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x10]
call fcn.00019230
ret
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x109b89
mov eax, dword [ebp - 4]
mov edx, dword [0xfaec8]
call fcn.0001587c
lea edx, [ebp - 0x74]
mov eax, 0x109d54
call fcn.00031d88
mov eax, dword [ebp - 0x74]
push eax
lea edx, [ebp - 0x78]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00035eb0
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x18]
pop ecx
call fcn.00013f18
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, 0x20
call fcn.00019220
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x109b82
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x2a9118]
mov eax, dword [eax]
add eax, 0x20019
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.00014090
push eax
push 0x80000003
call sub.advapi32.dll_RegOpenKeyExA_1
mov ebx, eax
test ebx, ebx
je 0x109867
lea edx, [ebp - 0x7c]
mov eax, 0x109d68
call fcn.00031d88
lea eax, [ebp - 0x7c]
push eax
lea edx, [ebp - 0x80]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x80]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x1c], 0
je 0x109b58
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.00014090
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
mov ebx, eax
test ebx, ebx
je 0x1098de
lea edx, [ebp - 0x84]
mov eax, 0x109d78
call fcn.00031d88
lea eax, [ebp - 0x84]
push eax
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x88]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x14], 0
jbe 0x109b58
cmp dword [ebp - 0x14], 0x2800
ja 0x109b58
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov ecx, 1
mov edx, dword [0xfaec8]
call fcn.00015870
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
call fcn.00018028
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.00014090
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
mov ebx, eax
test ebx, ebx
je 0x109988
lea edx, [ebp - 0x8c]
mov eax, 0x109d88
call fcn.00031d88
lea eax, [ebp - 0x8c]
push eax
lea edx, [ebp - 0x90]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x90]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
xor ebx, ebx
jmp 0x1099ba
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014548
add eax, eax
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014538
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
add eax, ebx
pop ecx
call fcn.000330cc
mov edx, dword [ebp - 8]
mov byte [edx], al
inc ebx
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x1099ec
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00014548
add eax, eax
add eax, ebx
cdq
push edx
push eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x1099e8
cmp eax, dword [esp]
pop edx
pop eax
ja 0x10998c
jmp 0x1099ec
pop edx
pop eax
jg 0x10998c
cmp dword [ebp - 0x1c], 0
je 0x1099fb
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x94]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00035eb0
push dword [ebp - 0x94]
lea edx, [ebp - 0x98]
mov eax, 0x109d28
call fcn.00031d88
push dword [ebp - 0x98]
lea eax, [ebp - 0x9c]
call fcn.000277dc
push dword [ebp - 0x9c]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00013f8c
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x2a9118]
mov eax, dword [eax]
add eax, 0x20019
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.00014090
push eax
push 0x80000003
call sub.advapi32.dll_RegOpenKeyExA_1
mov ebx, eax
test ebx, ebx
je 0x109ab8
lea edx, [ebp - 0xa0]
mov eax, 0x109d98
call fcn.00031d88
lea eax, [ebp - 0xa0]
push eax
lea edx, [ebp - 0xa4]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0xa4]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x1c], 0
je 0x109b58
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x24]
call fcn.00014090
mov ecx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.000189b4
mov ebx, eax
test ebx, ebx
je 0x109b30
lea edx, [ebp - 0xa8]
mov eax, 0x109da8
call fcn.00031d88
lea eax, [ebp - 0xa8]
push eax
lea edx, [ebp - 0xac]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0xac]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
cmp dword [ebp - 0x20], 1
jne 0x109b58
cmp dword [ebp - 0x14], 1
jbe 0x109b58
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x10]
call fcn.0001899c
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc]
call fcn.00013c90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x109b89
cmp dword [ebp - 0x1c], 0
je 0x109b74
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x10]
call fcn.00019230
ret
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x109c18
lea edx, [ebp - 0xb4]
mov eax, 0x109db8
call fcn.00031d88
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
lea edx, [ebp - 0xbc]
mov eax, 0x109dd8
call fcn.00031d88
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
push dword [eax]
lea edx, [ebp - 0xc0]
mov eax, 0x109ddc
call fcn.00031d88
push dword [ebp - 0xc0]
lea eax, [ebp - 0xb8]
mov edx, 3
call fcn.00013f8c
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb058
mov eax, dword [ebp - 4]
mov edx, dword [0xfaec8]
call fcn.0001587c
jmp 0x109c8b
lea edx, [ebp - 0xc4]
mov eax, 0x109db8
call fcn.00031d88
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb360
lea edx, [ebp - 0xcc]
mov eax, 0x109dd8
call fcn.00031d88
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc]
push dword [eax]
lea edx, [ebp - 0xd0]
mov eax, 0x109ddc
call fcn.00031d88
push dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
mov edx, 3
call fcn.00013f8c
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.000fb360
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x109cb8
lea eax, [ebp - 0xd0]
mov edx, 0x2c
call fcn.00013c60
lea eax, [ebp - 0x18]
call fcn.00013c3c
ret