Function at 0x1002c3f5
Capabilities:
Query or enumerate registry key

Disassembly:
mov eax, 0x10060481
call fcn.1005f0d0
sub esp, 0x150
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x74], ecx
je 0x1002cc62
mov dword [ebp - 0x18], 0x30722263
xor ebx, ebx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x20], 0xd44f4cc5
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x28], 0xec287848
mov dword [ebp - 0x14], ebx
jmp 0x1002c456
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0x23b1a956
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002c448
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
mov dword [ebp - 0x20], edx
xor edx, edx
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x1c]
jne 0x1002c48f
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], 0xf118c84b
mov eax, dword [ebp - 0x3c]
push 9
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
pop esi
jmp 0x1002c5a1
mov dword [ebp - 0x14], 0x5bf7
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x18], ebx
jmp 0x1002c4ce
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002c4bd
inc dword [ebp - 0x2c]
mov ecx, 0xe55b65ab
mov eax, dword [ebp - 0x2c]
sub ecx, eax
je 0x1002c4f0
cmp dword [ebp - 0xc8], ebx
je 0x1002c4f0
xor edx, edx
inc edx
jmp 0x1002c4f2
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x20]
je 0x1002c500
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x14], ebx
jne 0x1002c51d
cmp dword [ebp - 0x68], ebx
jne 0x1002c51d
mov ecx, ebx
jmp 0x1002c520
xor ecx, ecx
inc ecx
xor eax, eax
cmp edx, ecx
setge al
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x1002c541
cmp dword [ebp - 0x68], ebx
jne 0x1002c541
mov ecx, ebx
jmp 0x1002c544
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
add eax, ecx
neg eax
sbb eax, eax
neg eax
imul ecx, eax, 0xd038
mov eax, dword [ebp - 0xc4]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
je 0x1002c56e
cmp dword [ebp - 0x68], ebx
je 0x1002c56e
xor eax, eax
inc eax
jmp 0x1002c570
mov eax, ebx
cmp eax, dword [ebp - 0x28]
je 0x1002c578
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xbc]
cmp eax, esi
setle dl
xor ecx, ecx
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x20]
cmp edx, eax
setg cl
mov dword [ebp - 0x64], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x35
jge 0x1002c4aa
mov dword [ebp - 0x14], 0x1e29ea41
push 2
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1002c5d2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf4], 0xd4e70302
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002c5c1
mov dword [ebp - 0x1c], ebx
jmp 0x1002c5ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x140], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002c5dc
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
movdqa xmm0, xmmword [0x1006d1f0]
neg ecx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x74]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setge cl
sub ecx, 0xfff6
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xf0]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setle cl
cmp eax, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], 0x25024c00
sbb ecx, ecx
mov byte [ebp - 0x40], 0x6e
neg ecx
mov dword [ebp - 0x94], ebx
add eax, ecx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x94]
lea eax, [ebp - 0x128]
mov dword [ebp - 0x58], 0xadae
push eax
lea eax, [ebp - 0x138]
mov dword [ebp - 0x60], 0xffffffff
push eax
mov dword [ebp - 0x20], ebx
push ebx
movdqu xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x8c], ebx
call fcn.1001a7e8
mov dword [ebp - 4], ebx
mov ecx, 0xecba2afe
mov dword [ebp - 0x20], 0x9032f829
mov eax, dword [ebp - 0x58]
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
setg dl
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0xc], ecx
test ecx, ecx
je 0x1002c76d
push 0x4be2
push 0x5702
lea eax, [ebp - 0x94]
mov dword [ebp - 0xb4], 0xbc22
push eax
push 0x1519
push 0x13ad
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa8], 0x28f0bd90
push eax
push 0x7bc6
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x98], 0xda73a151
push eax
push ecx
lea eax, [ebp - 0x58]
mov dword [ebp - 0xac], 0x7557bc77
push eax
push 1
lea eax, [ebp - 0x98]
mov dword [ebp - 0xb0], esi
push eax
push 0x4047
lea eax, [ebp - 0xb0]
push eax
push ecx
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0x60]
call fcn.1002ef4d
add esp, 0x3c
jmp 0x1002c780
push 0x7902
lea edx, [ebp - 0x2f]
mov byte [ebp - 0x2f], bl
xor cl, cl
call fcn.1002fb64
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.10015361
push 0x7c
pop eax
push 2
mov word [ebp - 0x48], ax
mov ecx, ebx
pop esi
cmp esi, 2
jne 0x1002c7a7
push 3
pop ecx
push ecx
pop esi
jmp 0x1002c7d0
movzx edx, byte [ebp + esi - 0x43]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x46]
movzx ecx, word [ebp + eax*2 - 0x48]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x44]
add ecx, edx
mov word [ebp + eax*2 - 0x48], cx
mov ecx, ebx
add esi, 2
cmp esi, 5
jb 0x1002c79b
xor eax, eax
xor esi, esi
mov word [ebp - 0x46], ax
inc esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], ebx
jmp 0x1002c800
cmp dword [ebp - 0x14], ebx
jne 0x1002c806
push ecx
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
call fcn.1002cd0b
inc dword [ebp - 0x14]
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0xf
jge 0x1002c7e9
xor eax, eax
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x118], ebx
push eax
call fcn.10015b99
lea eax, [ebp - 0x128]
mov dword [ebp - 4], esi
push eax
mov edx, edi
lea ecx, [ebp - 0xe0]
call fcn.1002c06c
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 3
call fcn.10015c21
xor ecx, ecx
mov dword [ebp - 0x48], ebx
inc ecx
mov dword [ebp - 0xa4], 4
push ecx
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], 0xc25bfc88
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24], 0xfffffff6
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x7c], ecx
push eax
push ecx
push 0x5d0b
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x34], 0x4edf0ebf
push eax
push 0x33cc
push 0x1a0b
push 0x7b06
push 0x559
push 0x5a47
push 0x6f80
xor dl, dl
lea ecx, [ebp - 0x7c]
call fcn.1002f070
add esp, 0x34
cmp dword [ebp - 0x24], ebx
je 0x1002c904
push ecx
lea eax, [ebp - 0x34]
push eax
push 0x56d3
push 1
push ecx
lea eax, [ebp - 0x7c]
mov ecx, 0x72a9
push eax
call fcn.1002c236
push ebx
push 1
mov edx, 0x11a5
mov ecx, 0x7661
call fcn.1002c3f5
add esp, 0x20
jmp 0x1002c9f6
push 1
lea ecx, [ebp - 0xec]
call fcn.100152de
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 4
call fcn.100152de
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
push eax
push ecx
push ecx
lea eax, [ebp - 0xec]
mov dword [ebp - 0xb8], 0x7ea1b148
push eax
push 1
call fcn.1002e0eb
xor edx, edx
mov dword [ebp - 0x38], ebx
add esp, 0x14
inc edx
jmp 0x1002c962
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002c94f
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x1002c9dc
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x18], ebx
jmp 0x1002c988
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002c97a
dec dword [ebp - 0x78]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x1002c9d7
lea eax, [ebp - 0xa0]
push eax
push ecx
push ecx
call fcn.1002fc34
add esp, 0xc
lea eax, [ebp - 0x24]
lea edx, [ebp - 0xec]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xd4]
push eax
push ecx
push 1
call fcn.1002c3ad
add esp, 0x14
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1002c998
xor edx, edx
inc edx
dec dword [ebp - 0x34]
jns 0x1002c96f
lea ecx, [ebp - 0xd4]
call fcn.10015361
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 3
call fcn.10015361
mov dword [ebp - 0x18], 0x258b
cmp dword [ebp - 0x18], 0x2837
jle 0x1002caa2
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x28], 0x647a
mov dword [ebp - 0x20], eax
mov esi, edi
mov dword [ebp - 0x14], ebx
mov ecx, eax
mov edi, ebx
sar esi, cl
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x158]
cdq
push edx
push eax
call fcn.10001ac3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002ca47
mov eax, dword [eax]
push eax
call fcn.1004881f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x158]
call fcn.10015918
inc edi
cmp edi, 0x2b44
jl 0x1002ca29
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x3c]
add eax, esi
dec dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
jne 0x1002ca1e
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x561b
jl 0x1002ca12
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x2cb3
jl 0x1002ca0f
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
push 9
pop eax
push 2
mov dword [ebp - 0x54], 0x8d02db00
mov ecx, ebx
mov dword [ebp - 0x50], 0x30401b2
mov word [ebp - 0x4c], 0x22d
mov byte [ebp - 0x4a], 0x2a
mov word [ebp - 0x88], ax
pop esi
cmp esi, 2
jne 0x1002cad5
push 3
pop ecx
push ecx
pop esi
jmp 0x1002cb02
movzx edx, byte [ebp + esi - 0x53]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x56]
movzx eax, word [ebp + eax*2 - 0x88]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x54]
mov word [ebp + eax*2 - 0x88], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xb
jb 0x1002cac9
xor eax, eax
cmp dword [ebp - 0x18], 0x2577
mov word [ebp - 0x80], ax
jge 0x1002cb24
push str.cvuwa_egyzfx_zkzdwn_edgys_dbbj
call fcn.1004881f
pop ecx
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x110]
xor eax, eax
mov dword [ebp - 0xfc], 7
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x100], ebx
call fcn.10015b99
mov byte [ebp - 4], 8
lea edi, [ebp - 0x88]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x14], 0xe17f7596
mov dword [ebp - 0x20], 0xbb4ebb0c
mov dword [ebp - 0x28], 0xfffa
mov dword [ebp - 0x70], 0x758e92ed
mov dword [ebp - 0x5c], 8
mov dword [ebp - 0x18], ebx
jmp 0x1002cb9f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf8], 0x96e1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1002cb8e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
mov eax, dword [ebp - 0x14]
neg ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
push 0x29d8
setle dl
sub edx, 0xc9cd49fc
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov dl, 1
setle cl
xor eax, eax
cmp ecx, 0xfffffffb
mov cl, dl
setge al
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
lea eax, [ebp - 0x5c]
push eax
push 0x4b8f
push ebx
call fcn.1002e847
push 0xb8c
lea edx, [ebp - 0x70]
xor cl, cl
call fcn.1002f016
add esp, 0x14
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0xe0]
push 1
push eax
call fcn.1002c1b6
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0xe0]
add esp, 0xc
push eax
call fcn.1003002d
push ebx
push 1
lea ecx, [ebp - 0x110]
call fcn.10015c21
lea ecx, [ebp - 0xe0]
call fcn.100304a9
jmp 0x1002cc7f
push 1
push ecx
lea eax, [ebp - 0x2e]
mov byte [ebp - 0x2e], 0
push eax
mov edx, 0xd08
mov ecx, 0x3c61
call fcn.1002c0f0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret