Function at 0x27546b10
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x275ba2ec]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
push edi
push esi
push ebx
xor eax, eax
push 0x2750a9d0
push 0x2750a990
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x114]
push eax
push 0x2750a930
lea ecx, [ebp - 0x110]
push 2
push ecx
call fcn.2753a320
mov edx, dword [0x275bc8c4]
mov eax, dword [edx + 0xc]
add esp, 0x24
mov ecx, 0x275bc8c4
call eax
add eax, 0x10
push ebx
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x11c], eax
call fcn.275391c0
push esi
lea ecx, [ebp - 0x118]
call fcn.275391c0
lea ecx, [ebp - 0x120]
call fcn.2753d4c0
mov ecx, eax
call fcn.2753d510
lea ecx, [ebp - 0x120]
call fcn.2753e6c0
lea ecx, [ebp - 0x118]
call fcn.2753d4c0
mov ecx, eax
call fcn.2753d510
lea ecx, [ebp - 0x118]
call fcn.2753e6c0
mov ecx, dword [ebp - 0x118]
cmp dword [ecx - 0xc], 0
je 0x27546eba
mov edx, dword [ebp - 0x120]
cmp dword [edx - 0xc], 0
je 0x27546eba
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.27555270
test eax, eax
mov dword [ebp - 0x114], eax
jl 0x27546ec4
cmp dword [ebp - 0x12c], 0
jne 0x27546c31
mov dword [ebp - 0x114], 0x8004888c
jmp 0x27546ec4
push 0x275098f8
lea ecx, [ebp - 0x11c]
call fcn.27539170
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x11c]
call fcn.2753eb70
mov edx, dword [ebp - 0x11c]
push 0x20006
push edx
push SysReAllocString
lea ecx, [ebp - 0x128]
call fcn.27539340
cmp eax, 2
jne 0x27546c9c
mov eax, dword [ebp - 0x11c]
push 0
push 0
push 0x20006
push 0
push 0
push eax
push SysReAllocString
lea ecx, [ebp - 0x128]
call fcn.275392d0
test eax, eax
je 0x27546ce6
jle 0x27546cac
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x114], eax
call fcn.27595010
test al, al
je 0x27546ec4
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x11c]
push ecx
push edx
push 0x275037c0
push 0x2750a8d0
push 0
call fcn.27595fd0
add esp, 0x14
jmp 0x27546ec4
test edi, edi
je 0x27546dda
cmp word [edi], 0
je 0x27546dda
lea eax, [ebp - 0x130]
push eax
push esi
push ebx
mov dword [ebp - 0x130], 0
call sym.msidcrl40.dll_GetUserExtendedProperty
mov esi, dword [ebp - 0x130]
test esi, esi
jne 0x27546d26
mov dword [ebp - 0x124], 1
jmp 0x27546d69
mov ecx, edi
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x27546d56
test dx, dx
je 0x27546d52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x27546d56
add eax, 4
add ecx, 4
test dx, dx
jne 0x27546d30
xor eax, eax
jmp 0x27546d5b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x27546d69
mov dword [ebp - 0x124], 2
push esi
call sym.msidcrl40.dll_PassportFreeMemory
mov ecx, dword [ebp - 0x118]
push 1
push edi
push ecx
lea ecx, [ebp - 0x128]
call fcn.27539410
test eax, eax
je 0x27546e5d
jle 0x27546d98
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x114], eax
call fcn.27595010
test al, al
je 0x27546ec4
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push edx
push eax
push edi
push ecx
push 0x275036d8
push 0x2750a870
push 0
call fcn.27595fd0
add esp, 0x1c
jmp 0x27546ec4
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x128]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x27546e51
cmp eax, 2
je 0x27546ec4
test eax, eax
jle 0x27546e09
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x114], eax
call fcn.27595010
test al, al
je 0x27546ec4
test edi, edi
jne 0x27546e25
mov edi, 0x27503750
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
push ecx
push edx
push edi
push eax
push 0x275036d8
push 0x2750a810
push 0
call fcn.27595fd0
add esp, 0x1c
jmp 0x27546ec4
mov dword [ebp - 0x124], 4
jmp 0x27546e66
cmp dword [ebp - 0x124], 0
je 0x27546ec4
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x124]
push edi
push ecx
push edx
push ebx
mov ecx, 0x275bbaa0
call fcn.2757e1b0
test eax, eax
mov dword [ebp - 0x114], eax
jge 0x27546ec4
call fcn.27595010
test al, al
je 0x27546eae
mov eax, dword [ebp - 0x114]
push eax
push 0x27508368
push 0x2750a7b0
push 0
call fcn.27595fd0
add esp, 0x10
mov dword [ebp - 0x114], 0
jmp 0x27546ec4
mov dword [ebp - 0x114], 0x80070057
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x114]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x27546eec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x27546f0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x11c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x27546f30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x110]
call fcn.2753a430
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x27546f4c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.2757f388
mov esp, ebp
pop ebp
ret 0xc