Function at 0x402f10
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
push esi
push edi
push 0
push str.Deleting
push str.softwareQwertyuioTrickler
push 0x80000002
mov esi, str.Skipped
call fcn.0040a070
mov edi, dword [esp + 0x30]
add esp, 0x10
test eax, eax
jne 0x403123
or edi, edi
push ebx
je 0x403011
mov eax, dword [0x42954c]
sub ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
xor edx, edx
mov cl, byte [esp + edx + 0xc]
mov al, cl
and al, 0x80
shl cl, 1
test al, al
je 0x402f72
or cl, 1
mov al, byte [esp + edx + 0xd]
xor al, cl
mov cl, al
and cl, 1
shr al, 1
test cl, cl
je 0x402f85
or al, 0x80
mov byte [esp + edx + 0xc], al
inc edx
cmp edx, 3
jl 0x402f61
mov edx, dword [esp + 0xf]
push edx
call fcn.00403170
mov bl, byte [esp + 0x10]
xor al, bl
push eax
call fcn.00403150
mov cl, byte [esp + 0x2e]
mov dl, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1c], al
mov al, byte [esp + 0x15]
mov byte [esp + 0x1f], al
mov al, byte [esp + 0x2f]
mov byte [esp + 0x20], cl
mov cl, byte [esp + 0x17]
add esp, 8
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], ah
mov byte [esp + 0x19], dl
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], cl
xor esi, esi
mov dl, byte [esp + esi + 0x14]
push edx
call fcn.00403170
xor al, byte [esp + esi + 0x19]
push eax
call fcn.00403150
add esp, 8
mov byte [esp + esi + 0x14], al
inc esi
cmp esi, 7
jl 0x402fe6
mov eax, dword [esp + 0x1b]
push eax
jmp 0x4030e0
push 0
call fcn.0041b800
mov edx, dword [0x42954c]
sub ecx, ecx
mov dword [esp + 0x18], ecx
add esp, 4
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
xor edx, edx
mov cl, byte [esp + edx + 0xc]
mov al, cl
and al, 0x80
shl cl, 1
test al, al
je 0x403046
or cl, 1
mov al, byte [esp + edx + 0xd]
xor al, cl
mov cl, al
and cl, 1
shr al, 1
test cl, cl
je 0x403059
or al, 0x80
mov byte [esp + edx + 0xc], al
inc edx
cmp edx, 3
jl 0x403035
mov eax, dword [esp + 0xf]
push eax
call fcn.00403170
mov bl, byte [esp + 0x10]
xor al, bl
push eax
call fcn.00403150
mov cl, byte [esp + 0x15]
mov dl, byte [esp + 0x2e]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1c], al
mov al, byte [esp + 0x16]
mov byte [esp + 0x1f], cl
mov cl, byte [esp + 0x2f]
mov byte [esp + 0x20], dl
mov dl, byte [esp + 0x17]
add esp, 8
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], ah
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1b], dl
sub esi, esi
mov al, byte [esp + esi + 0x14]
push eax
call fcn.00403170
xor al, byte [esp + esi + 0x19]
push eax
call fcn.00403150
add esp, 8
mov byte [esp + esi + 0x14], al
inc esi
cmp esi, 7
jl 0x4030ba
mov ecx, dword [esp + 0x1b]
push ecx
call fcn.00403170
xor al, byte [esp + 0x18]
push eax
call fcn.00403150
add esp, 8
lea edx, [esp + 0x14]
mov byte [esp + 0x1b], al
push 8
push edx
push str.uets
push str.SoftwareCLASSESCLSID21FFB6C0_0DA1_11D5_A9D5_00500413153C
push 0x80000002
call fcn.0040b260
add esp, 0x14
mov esi, 0x429578
test eax, eax
pop ebx
jne 0x403123
mov esi, str.FAILED
or edi, edi
mov eax, str.eternal
jne 0x403131
mov eax, 0x429564
push esi
push eax
push str.Write_UETS___s_:__s
call fcn.00407160
add esp, 0xc
pop edi
pop esi
add esp, 0x14
ret