Function at 0x101228b
Capabilities:
Delete registry key

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x1029018]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 1], bl
je 0x10122d4
test byte [eax + 0x1c], 0x20
je 0x10122d4
cmp byte [eax + 0x19], 3
jb 0x10122d4
push dword [ebp + 0x14]
mov edi, 0x1002404
push edi
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004409
jmp 0x10122d9
mov edi, 0x1002404
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push eax
call fcn.01023557
cmp eax, ebx
jne 0x1012595
push dword [ebp + 0x10]
lea eax, [ebp - 0x24]
push eax
call fcn.01023557
cmp eax, ebx
jne 0x1012595
push dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.01023557
cmp eax, ebx
jne 0x1012595
lea eax, [ebp - 0x1c]
push eax
call fcn.0101668e
test al, al
jne 0x1012568
lea eax, [ebp - 0x24]
push eax
call fcn.0101668e
test al, al
jne 0x1012568
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0100b8fb
mov esi, eax
mov eax, dword [0x1029018]
cmp eax, ebx
je 0x1012374
test byte [eax + 0x1c], 0x20
je 0x1012374
cmp byte [eax + 0x19], 3
jb 0x1012374
push esi
push dword [ebp - 8]
push edi
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100b411
cmp esi, ebx
jne 0x10123b4
mov ecx, dword [ebp - 0x14]
call fcn.01005a65
mov eax, dword [0x1029018]
cmp eax, ebx
je 0x10123aa
test dword [eax + 0x1c], 0x80000020
je 0x10123aa
cmp byte [eax + 0x19], 3
jb 0x10123aa
push ebx
push dword [ebp + 0x14]
push edi
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091b7
mov eax, 0xb7
jmp 0x1012595
mov ecx, dword [ebp - 0xc]
call fcn.0100903f
cmp eax, ebx
jne 0x1012595
lea eax, [ebp - 0x10]
push eax
push ebx
push 1
push dword [ebp + 8]
call fcn.010104e5
mov edi, dword [ebp + 0xc]
mov esi, eax
cmp esi, ebx
jne 0x101249b
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [ebp - 0x10]
call fcn.0100c304
mov esi, eax
cmp esi, ebx
jne 0x101249b
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0x14]
push ebx
call fcn.0100ba95
mov esi, eax
cmp esi, ebx
jne 0x101249b
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
push edi
call dword [eax + 0x30]
mov esi, eax
cmp esi, ebx
jne 0x101249b
push dword [ebp + 0x18]
mov ecx, dword [ebp - 0xc]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x1c]
push dword [ebp - 8]
push dword [ebp + 8]
call fcn.01010de2
mov esi, eax
cmp esi, 0x50
je 0x1012452
cmp esi, 0xb7
jne 0x1012454
xor esi, esi
cmp esi, ebx
jne 0x1012487
push 1
push dword [ebp + 0x10]
push dword [ebp + 8]
push edi
push dword [ebp + 0x14]
call fcn.010163b5
mov esi, eax
cmp esi, ebx
jne 0x1012487
mov ecx, dword [ebp - 8]
call fcn.01018ba3
mov esi, eax
cmp esi, ebx
jne 0x101248f
mov ecx, dword [ebp - 8]
call fcn.0100e16c
jmp 0x101248f
mov ecx, dword [ebp - 8]
call fcn.01018ffa
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp esi, ebx
je 0x1012500
push dword [ebp + 0x14]
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push ebx
push dword [ebp + 0x10]
push dword [ebp + 8]
push edi
push dword [ebp + 0x14]
call fcn.010163b5
mov ecx, dword [ebp - 8]
cmp ecx, ebx
je 0x101250c
mov eax, dword [ecx]
push edi
call dword [eax + 0x30]
test eax, eax
jne 0x10124f3
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 1]
push eax
push dword [ebp + 0x10]
push dword [ebp + 8]
push dword [ebp - 8]
call fcn.01011027
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp byte [ebp - 1], bl
je 0x10124f3
push dword [ebp + 0x14]
push edi
call fcn.01013958
mov ecx, dword [ebp - 0xc]
push 1
push dword [ebp - 8]
call fcn.0100e4e9
mov ecx, dword [ebp - 8]
cmp ecx, ebx
je 0x101250c
call fcn.01005a65
cmp dword [ebp - 0x10], ebx
je 0x101251a
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, 0xb7
jne 0x1012525
push 0x32
pop esi
mov eax, dword [0x1029018]
cmp eax, ebx
je 0x1012564
mov ecx, esi
neg ecx
sbb ecx, ecx
and ecx, 0xc
xor edx, edx
dec ecx
inc edx
and ecx, 0x1f
shl edx, cl
or edx, 0x20
test dword [eax + 0x1c], edx
je 0x1012564
cmp byte [eax + 0x19], 3
jb 0x1012564
push esi
push dword [ebp + 0x14]
push 0x1002404
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091b7
mov eax, esi
jmp 0x1012595
mov eax, dword [0x1029018]
cmp eax, ebx
je 0x1012592
test word [eax + 0x1c], 0x820
je 0x1012592
cmp byte [eax + 0x19], 3
jb 0x1012592
push 0x57
push dword [ebp + 0x14]
push edi
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091b7
push 0x57
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x18