Function at 0x425fe0
Capabilities:
Delete registry key

Disassembly:
sub esp, 0x3c
mov eax, dword [0x43b600]
mov ecx, dword [0x43b588]
push ebx
mov edx, dword [0x43b590]
push ebp
push esi
push edi
push str.Function_Entry
push 0x43d2ec
push 4
push 0x110a
push eax
mov eax, dword [0x43b58c]
push ecx
push edx
xor ebp, ebp
push eax
push 1
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.0040ee40
mov ebx, dword [esp + 0x74]
add esp, 0x24
cmp ebx, ebp
je 0x42633a
mov esi, dword [esp + 0x54]
cmp esi, ebp
je 0x42633a
cmp dword [esp + 0x58], ebp
je 0x42633a
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jae 0x42606a
mov edi, 0x80000b03
mov eax, 0x1115
mov esi, edi
jmp 0x426346
call fcn.00425370
lea ecx, [esp + 0x10]
push ecx
push 0x2001f
push ebp
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebp
je 0x4262d0
cmp eax, 2
jne 0x4262ac
mov edx, dword [0x43b5fc]
mov eax, dword [0x43b588]
mov ecx, dword [0x43b590]
push str.Function_Entry
push 0x43d2ec
push 4
push 0x1084
push edx
mov edx, dword [0x43b58c]
push eax
push ecx
push edx
push 1
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
call fcn.0040ee40
lea eax, [esp + 0x34]
add esp, 0x24
test eax, eax
je 0x426214
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 1
cmp ecx, edi
jae 0x426103
mov esi, 0x80000b03
mov ecx, 0x108f
mov eax, esi
jmp 0x426220
lea ecx, [esp + 0x24]
push edi
push ecx
mov dword [esp + 0x2c], ebp
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x426128
mov esi, 0x80000b32
mov ecx, 0x1099
mov eax, esi
jmp 0x426220
push ebp
push ebp
lea edx, [esp + 0x2c]
push edi
push edx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
jne 0x42614b
mov esi, 0x80000b32
mov ecx, 0x10a1
mov eax, esi
jmp 0x426220
xor eax, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], edi
call fcn.00425370
lea edx, [esp + 0x54]
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0x1c]
push eax
push ecx
push 0xf003f
push ebp
push ebp
push ebp
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp eax, ebp
jne 0x4261f3
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x426206
mov edx, dword [esp + 0x1c]
push edx
push 4
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
test eax, eax
je 0x4261d0
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, 0x80000b30
mov ecx, 0x10cf
mov eax, esi
jmp 0x426220
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x14]
test edx, edx
mov dword [esp + 0x10], ecx
je 0x4261ef
mov ecx, dword [esp + 0x54]
xor eax, eax
cmp ecx, edi
sete al
mov dword [esp + 0x14], eax
xor esi, esi
jmp 0x42624b
cmp eax, 5
jne 0x426206
mov esi, 0x80000b30
mov ecx, 0x10bc
mov eax, esi
jmp 0x426220
mov esi, 0x80000b2c
mov ecx, 0x10c1
mov eax, esi
jmp 0x426220
mov esi, 0x80000b03
mov ecx, 0x108a
mov eax, esi
mov edx, dword [0x43b588]
push 0x65
push ecx
mov ecx, dword [0x43b5fc]
push ecx
mov ecx, dword [0x43b590]
push edx
mov edx, dword [0x43b58c]
push ecx
push edx
push eax
push esi
push 3
call fcn.0040fdd0
add esp, 0x24
mov eax, dword [0x43b5fc]
mov ecx, dword [0x43b588]
mov edx, dword [0x43b590]
push esi
push str.Function_Exit
push str._s__Rc__0x_08X
push 4
push 0x10e5
push eax
mov eax, dword [0x43b58c]
push ecx
push edx
push eax
push 1
call fcn.0040ee40
add esp, 0x28
cmp esi, ebp
je 0x426291
mov edi, esi
mov eax, 0x112a
jmp 0x426346
cmp dword [esp + 0x10], ebp
jne 0x42631e
mov edi, 0x80000b2c
mov eax, 0x1132
mov esi, edi
jmp 0x426346
cmp eax, 5
jne 0x4262c2
mov edi, 0x80000b30
mov eax, 0x113c
mov esi, edi
jmp 0x426346
mov edi, 0x80000b31
mov eax, 0x1141
mov esi, edi
jmp 0x426346
cmp dword [esp + 0x10], ebp
jne 0x4262e4
mov edi, 0x80000b2c
mov eax, 0x114c
mov esi, edi
jmp 0x426346
lea ecx, [esp + 0x38]
push 1
push ecx
mov dword [esp + 0x40], ebp
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x42631e
push ebp
push ebp
lea edx, [esp + 0x40]
push 1
push edx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x42631e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push eax
push 4
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x5c]
cmp eax, ebp
je 0x426336
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
xor edi, edi
jmp 0x426370
mov edi, 0x80000b03
mov eax, 0x1110
mov esi, edi
mov edx, dword [0x43b600]
mov ecx, dword [0x43b590]
push 0x65
push eax
mov eax, dword [0x43b588]
push edx
mov edx, dword [0x43b58c]
push eax
push ecx
push edx
push esi
push edi
push 3
call fcn.0040fdd0
add esp, 0x24
mov eax, dword [0x43b600]
mov ecx, dword [0x43b588]
mov edx, dword [0x43b590]
push edi
push str.Function_Exit
push str._s__Rc__0x_08X
push 4
push 0x1176
push eax
mov eax, dword [0x43b58c]
push ecx
push edx
push eax
push 1
call fcn.0040ee40
add esp, 0x28
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret