Function at 0xa0f8e0
Capabilities:
Encode data using xor

Disassembly:
pop edx
adc ebp, dword [ebp - 0x3cbef1a5]
add byte [ecx - 0x7a02aa78], bh
mov eax, dword [eax]
test dword [esp + edx*2 - 0x6d], 0x6e278fa1
or dword [edx + 0x37], esi
fild word [esi - 0x71dd913d]
inc eax
and eax, dword [ebx + 0x48da72fd]
outsb dx, byte [esi]
and cl, byte [esi - 0x27cdcc0]
jb 0x90b4f8
dec eax
mul byte [edx]
mul dword [eax]
or cl, ah
add eax, 0xd22421c8
xchg ebp, eax
adc ecx, dword [ebp + 0x3290dc3]
push es
invalid
add dword [ebp - 0xcac1c4f], ecx
insb byte es:[edi], dx
jle 0x90b574
jns 0x90b515
push ebp
mov cs, word [edx - 0x34]
mov ah, 0xab
push edx
in al, dx
retf 0x4536
dec edx
int3
mov dh, 0xc1
loop 0x90b567
and al, 0xb0
jle 0x40a1c087
inc ebx
and dword [ecx + ebp*8 + 0x6c], 0x79
dec ecx
sbb byte [0x50335d3], dl
adc eax, 0x102ec47e
push eax
cmp al, 0x32
pushal
imul ebp, ebx, 0x1b
dec dword [ebx]
or eax, 0x40214783
dec esi
adc al, 0x1e
cmp eax, edx
jg 0x90b62d
cmp byte [edi - 0x74aceab3], 0x36
push 0xffffffffffffffd8
sub ebx, esi
dec ebx
mov eax, esi
add eax, 0x5363ac7
pop eax
invalid
salc
mov ecx, edi
mov edi, 0x4774ba2c
in eax, dx
invalid
pushal
mov esi, section.UPX1
lea edi, [esi - 0x42e000]
mov dword [edi + 0x50bc10], 0xe1032139
push edi
or ebp, 0xffffffff
jmp 0xa0f90a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0xa0f911
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xa0f900
mov eax, 1
add ebx, ebx
jne 0xa0f923
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0xa0f934
jne 0xa0f953
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xa0f953
dec eax
add ebx, ebx
jne 0xa0f940
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0xa0f918
add ebx, ebx
jne 0xa0f94f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0xa0f9a5
xor ecx, ecx
sub eax, 3
jb 0xa0f96b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0xa0f9da
sar eax, 1
mov ebp, eax
jmp 0xa0f976
add ebx, ebx
jne 0xa0f976
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xa0f944
inc ecx
add ebx, ebx
jne 0xa0f984
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xa0f944
add ebx, ebx
jne 0xa0f991
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0xa0f986
jne 0xa0f9a2
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0xa0f986
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0xa0f9c4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0xa0f9b6
jmp 0xa0f906
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0xa0f9c4
add edi, ecx
jmp 0xa0f906
pop esi
mov edi, esi
mov ecx, 0x2023b
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0xa0f9e2
mov eax, dword [edi]
mov bl, byte [edi + 4]
xchg ah, al
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0xa0f9e7
lea edi, [esi + 0x60b000]
mov eax, dword [edi]
or eax, eax
je 0xa0fa4f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x616038]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x61617c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0xa0fa0d
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x616184]
or eax, eax
je 0xa0fa49
mov dword [ebx], eax
add ebx, 4
jmp 0xa0fa2a
call dword [esi + 0x616180]
mov ebp, dword [esi + 0x616188]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0xa0fa83
sub esp, 0xffffff80
jmp 0x90b5e0