Function at 0x42aa21
Capabilities:
Encode data using xor

Disassembly:
push 0x828
mov eax, 0x4b13f6
call fcn.0048f423
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x834], edi
mov dword [ebp - 0x830], edi
mov dword [ebp - 0x82c], edi
mov dword [ebp - 0x828], edi
push 1
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
push esi
push SysReAllocStringLen
lea ecx, [ebp - 0x830]
mov dword [ebp - 4], edi
call fcn.004097e1
test eax, eax
je 0x42aafb
push 1
push esi
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
lea ecx, [ebp - 0x830]
call fcn.004097e1
test eax, eax
je 0x42aafb
push 1
push str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
push esi
lea ecx, [ebp - 0x830]
call fcn.004097e1
test eax, eax
je 0x42aafb
mov esi, dword [0x507340]
push 0x14
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
pop ecx
idiv ecx
cmp edx, 5
jne 0x42aae6
push 0x64
pop ecx
mov eax, esi
cdq
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x2f4]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048dbeb
push eax
call fcn.0048fbd7
pop ecx
pop ecx
push ecx
push esp
call fcn.00429add
pop ecx
push ebx
call fcn.0042a0ec
pop ecx
pop ecx
jmp 0x42acb1
xor eax, eax
push 0x7fe
mov word [ebp - 0x81c], ax
lea eax, [ebp - 0x81a]
push edi
push eax
call fcn.004913e0
add esp, 0xc
call fcn.0042c0d8
test al, al
jne 0x42ab56
mov esi, str.PihZLxfkA
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1c]
push eax
movsw word es:[edi], word [esi]
call fcn.0048ec80
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048dbeb
push eax
call fcn.0048fbd7
add esp, 0xc
xor edi, edi
mov ecx, dword [0x507340]
mov eax, ecx
imul eax, ecx
push 0xd
cdq
pop esi
idiv esi
mov dword [ebp - 0x824], 0x400
cmp edx, 5
jne 0x42ab9d
mov eax, ecx
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x7b]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048dbeb
push eax
call fcn.0048fbd7
pop ecx
pop ecx
push 0x4c5208
lea ecx, [ebp - 0x820]
call fcn.00401b1e
mov byte [ebp - 4], 1
call fcn.0042c047
mov ecx, dword [0x508848]
test al, al
lea eax, [ebp - 0x824]
push eax
mov edx, 0x9fcff174
cmove ecx, edx
lea eax, [ebp - 0x81c]
push eax
mov dword [0x508848], ecx
push str.Version
lea ecx, [ebp - 0x830]
call fcn.004224a7
mov edx, dword [0x507340]
mov ecx, edx
imul ecx, edx
mov dword [ebp - 0x824], eax
and ecx, 0x80000003
jns 0x42ac08
dec ecx
or ecx, 0xfffffffc
inc ecx
cmp ecx, 2
jne 0x42ac3c
mov esi, edi
push 8
mov ecx, esi
pop edi
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor ecx, eax
dec edi
jne 0x42ac14
add edx, ecx
inc esi
cmp esi, 0x100
jl 0x42ac0f
mov eax, dword [ebp - 0x824]
mov dword [0x507340], edx
test eax, eax
jne 0x42ac52
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x820]
call fcn.00407c3d
lea ecx, [ebp - 0x830]
call fcn.004093e4
mov eax, dword [ebp - 0x820]
cmp dword [eax - 0xc], 0
je 0x42ac93
push 0x4c5208
lea ecx, [ebp - 0x820]
call fcn.004093fe
test eax, eax
je 0x42ac93
mov eax, dword [ebp - 0x820]
add eax, 0xfffffff0
push eax
call fcn.00403b5b
add eax, 0x10
mov dword [ebx], eax
jmp 0x42aca2
push ecx
push esp
call fcn.00429add
pop ecx
push ebx
call fcn.0042a0ec
pop ecx
pop ecx
mov ecx, dword [ebp - 0x820]
lea ecx, [ecx - 0x10]
call fcn.00407864
lea ecx, [ebp - 0x830]
call fcn.004093e4
mov eax, ebx
call fcn.0048f3d2
ret