Function at 0x1022ee5
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push 0x2cc
mov eax, 0x103a961
call fcn.0102af4f
xor esi, esi
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x270], esi
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x240], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x260], 0x1002334
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x254], esi
lea ecx, [ebp - 0x2d8]
call fcn.01022656
push esi
push 0xf01ff
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.01021231
push esi
push 3
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x260]
call fcn.01022ce4
push esi
push esi
push 0x1002dd8
lea ecx, [ebp - 0x260]
call fcn.01022be5
push esi
push esi
push 0x1002db0
lea ecx, [ebp - 0x260]
call fcn.01022be5
lea eax, [ebp - 0x228]
push eax
push 9
push esi
mov edi, 0x1002d08
push edi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
je 0x102301b
jg 0x1022ff7
mov dword [ebp - 0x21c], eax
jmp 0x102300b
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push edi
push 0x1002c88
push 0x1002c68
jmp 0x1023536
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
push dword [ebp - 0x228]
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x234], 0x104
call edi
mov ebx, 0x103
jmp 0x10230c0
cmp eax, esi
jne 0x1023509
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x26c]
call fcn.0102070a
push dword [eax]
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 3
call fcn.01022c87
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0101fb10
inc dword [ebp - 0x224]
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x224]
mov dword [ebp - 0x234], 0x104
push dword [ebp - 0x228]
call edi
cmp eax, ebx
jne 0x1023053
mov dword [ebp - 0x224], esi
cmp dword [ebp - 0x248], esi
jbe 0x102353f
mov ebx, 0x4000000
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x23c], esi
cmp dword [ebp - 0x220], esi
je 0x1023101
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x220], esi
push dword [ebp - 0x224]
lea ecx, [ebp - 0x24c]
call fcn.010218e4
mov eax, dword [eax]
lea ecx, [ebp - 0x220]
push ecx
push 0x20019
push esi
push eax
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
cmp edi, esi
je 0x102317b
jg 0x102313e
mov dword [ebp - 0x21c], edi
jmp 0x1023150
mov eax, edi
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x21c], eax
push dword [ebp - 0x224]
lea ecx, [ebp - 0x24c]
call fcn.010218e4
push dword [eax]
push 0x1001ec0
push 0x1002c4c
push edi
call fcn.010264b0
add esp, 0x10
jmp 0x10234b3
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x22c]
push eax
push esi
push 0x1002c38
push dword [ebp - 0x220]
mov dword [ebp - 0x230], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 2
pop edi
cmp eax, edi
je 0x10234b3
cmp eax, esi
je 0x10231eb
jg 0x10231c5
mov dword [ebp - 0x21c], eax
jmp 0x10231d9
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push 0x1002c38
push 0x1002bf0
push 0x1002bd4
push eax
jmp 0x102316e
push 4
pop eax
cmp dword [ebp - 0x22c], eax
je 0x1023210
push 0x1002c38
push 0x10013c8
push 0x1002bb0
push ebx
call fcn.010265a2
jmp 0x1023173
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x22c]
push eax
push esi
push 0x1002b98
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, edi
je 0x10234b3
cmp eax, esi
je 0x102327b
jg 0x1023253
mov dword [ebp - 0x21c], eax
jmp 0x1023267
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push 0x1002b98
push 0x1002bf0
push 0x1002b7c
jmp 0x10231e8
push 4
pop eax
cmp dword [ebp - 0x22c], eax
je 0x1023290
push 0x1002b98
jmp 0x10231fb
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x22c]
push eax
push esi
push 0x1002b68
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, edi
je 0x102330a
cmp eax, esi
je 0x10232f7
jg 0x10232cf
mov dword [ebp - 0x21c], eax
jmp 0x10232e3
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push 0x1002b68
push 0x1002bf0
push 0x1002b4c
jmp 0x10231e8
cmp dword [ebp - 0x22c], 4
je 0x102330a
push 0x1002b68
jmp 0x10231fb
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
push esi
push 0x1002b24
push dword [ebp - 0x220]
mov dword [ebp - 0x230], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, edi
je 0x1023388
cmp eax, esi
je 0x1023375
jg 0x102334d
mov dword [ebp - 0x21c], eax
jmp 0x1023361
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push 0x1002b24
push 0x1002bf0
push 0x1002b08
jmp 0x10231e8
cmp dword [ebp - 0x22c], 4
je 0x1023388
push 0x1002b24
jmp 0x10231fb
cmp dword [ebp - 0x220], esi
je 0x10233a2
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x220], esi
cmp dword [ebp - 0x250], 3
jne 0x10234b3
cmp dword [ebp - 0x268], 0xb
jne 0x10234b3
cmp dword [ebp - 0x238], 1
je 0x10234b3
cmp dword [ebp - 0x23c], 1
je 0x10234b3
lea ecx, [ebp - 0x29c]
call fcn.01024471
push dword [ebp - 0x224]
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 4
call fcn.010218e4
push eax
mov edi, 0x80
push edi
lea ecx, [ebp - 0x29c]
call fcn.01024172
cmp eax, esi
mov dword [ebp - 0x21c], eax
jl 0x10234cd
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x29c]
call fcn.01023804
cmp eax, esi
mov dword [ebp - 0x21c], eax
jl 0x10234f1
cmp dword [ebp - 0x264], edi
jne 0x10234a4
push dword [ebp - 0x224]
lea ecx, [ebp - 0x24c]
call fcn.010218e4
mov eax, dword [eax]
push 4
push 1
push 0x1002b68
push eax
push dword [ebp - 0x228]
call fcn.01021532
cmp eax, esi
mov dword [ebp - 0x21c], eax
jl 0x10234fd
push dword [ebp - 0x224]
lea ecx, [ebp - 0x24c]
call fcn.010218e4
push dword [eax]
push 0x10013c8
push 0x1002ae4
push ebx
call fcn.010265a2
add esp, 0x10
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 2
call fcn.0102455c
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x248]
jb 0x10230db
jmp 0x102353f
push 0x1002a90
push 0x1002a70
push eax
call fcn.010262cc
add esp, 0xc
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 2
call fcn.0102455c
jmp 0x102353f
push 0x1002a34
push 0x1002a18
jmp 0x10234d7
push 0x10029d0
push 0x10029b0
jmp 0x10234d7
jg 0x1023513
mov dword [ebp - 0x21c], eax
jmp 0x1023527
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [ebp - 0x21c], ecx
push 0x1002d08
push 0x1002928
push 0x100290c
push eax
call fcn.010264b0
add esp, 0x10
push esi
lea eax, [ebp - 0x2d8]
push eax
push 0x1002dd8
lea ecx, [ebp - 0x260]
call fcn.01022c36
push esi
lea eax, [ebp - 0x2d8]
push eax
push 0x1002db0
lea ecx, [ebp - 0x260]
call fcn.01022c36
cmp dword [ebp - 0x220], esi
je 0x1023589
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x220], esi
cmp dword [ebp - 0x228], esi
je 0x10235a3
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x228], esi
lea ecx, [ebp - 0x2d8]
call fcn.0102269c
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x260], 0x1002334
call fcn.01021275
lea ecx, [ebp - 0x24c]
call fcn.01022702
call fcn.0102afe1
ret