Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xbade4631
inc ecx
mov ecx, 0xe5542be
dec ecx
popal
or ecx, esi
dec esi
mov esi, 0
mov eax, edi
mov edx, 0xdefe5a59
and ebx, edx
sub ebx, edx
mov ecx, eax
sub edx, 0xfb1ee72d
mov ebx, edx
mov ebx, 0x8863dca
mov edi, ecx
and ebx, edx
inc ebx
or ebx, ebx
inc esi
sub edx, ebx
or ebx, ebx
dec ebx
cmp esi, 0x100d9fd
jne 0xa789c2
mov edx, ebx
dec ebx
or esi, ecx
add esi, 1
sub esi, 1
mov edi, 0xa78796
add ebx, eax
not eax
mov ecx, 0xa7898a
sub esi, 0x9bbf800f
or eax, ebx
sub ebx, 0x9f7c2896
mov edx, dword [edi]
sub ebx, esi
sub ebx, esi
and edx, 0xff
mov ebx, eax
sub esi, 0x3975f69b
mov esi, 0xecdf3442
xor dword [ecx], edx
add ebx, 0xe36ed84d
add esi, ebx
sub esi, ebx
inc ecx
sub esi, 0xcbc0a6fb
add ebx, eax
inc edi
inc eax
add eax, eax
or ebx, esi
cmp ecx, entry0
jl 0xa78a22
dec esi
add eax, eax
or esi, esi
sub esi, eax
add ebx, 1
or ebx, ecx
and edi, edx
not edx
mov esi, 0xa7898e
inc ebx
and ecx, ecx
mov esi, dword [esi]
sub ebx, 0xa96bfc5
inc ebx
mov ebx, 0x430a0279
mov esi, dword [esi]
dec ebx
add ebx, edi
push esi
not edi
not ecx
add ebx, 0x166ceca5
mov esi, 0xa7898a
sub edi, 0x11d4897a
not edx
not ecx
mov esi, dword [esi]
add ebx, ebx
mov edx, 0x84e082d5
mov esi, dword [esi]
add ecx, ebx
not edx
sub esp, 4
mov dword [esp], 0xa78992
add ecx, 0x91ff5861
dec ecx
call esi
mov ecx, 0x4ff733a0
mov ebx, edi
dec ecx
pop esi
add edx, 0x7d9244a5
sub ecx, 0xbc1e4a1c
mov ecx, edx
push 0xa7899f
sub ecx, edi
add edx, 0x767be8f8
push eax
mov edi, ecx
mov edi, ebx
sub edx, ebx
call esi
mov ebx, edx
mov edi, ecx
add ecx, edi
push 0x40
add ecx, 1
add ecx, ebx
sub edx, ecx
push 0x3000
inc ebx
mov ecx, edi
push 0x200001ae
not edi
add ebx, 1
mov ecx, ebx
sub esp, 4
mov dword [esp], 0
or edi, edx
sub edx, 0x48263122
sub edx, 1
call eax
mov ecx, 0x5a6ed9e3
add edx, 0x34bb3b88
add eax, 0x20000111
mov ebx, edx
sub ebx, edi
mov ebx, ecx
mov esi, 0xf0296d5d
sub edx, ebx
or ecx, ebx
mov dword [eax], esi
add edi, ebx
dec edi
and ebx, edx
mov esi, dword [eax]
and ecx, ecx
sub edi, ebx
cmp esi, 0xf0296d5d
je 0xa78b7b
mov edx, 0
mov bl, byte [edx]
or edx, ebx
or ecx, ecx
sub ebx, 0x840bd7e6
mov ebx, 0xa68f5e89
not ecx
add ecx, 0x40c012bc
mov edi, section.UPX1
sub esi, 0x395ffe4b
sub esi, 0x56856bfe
mov eax, 0xa78795
not ecx
and ecx, esi
sub ecx, esi
mov ebx, 0
dec esi
add esi, 1
mov edx, 0xa78796
add ecx, 0xbb7a17db
and esi, ecx
inc esi
lea edx, [ebx + edx]
add esi, esi
or esi, esi
mov edx, dword [edx]
sub esi, 0x4279d5d2
add esi, 0xab491203
and edx, 0xff
mov esi, ecx
mov ecx, 0xdb1a92f2
add ebx, 1
and esi, ecx
sub esi, 0xb78cc365
dec ecx
cmp ebx, 0x1f4
jne 0xa78c06
mov ebx, 0
inc ecx
inc ecx
add ecx, esi
mov ecx, esi
xor dword [edi], edx
not esi
dec esi
add edi, 2
sub ecx, esi
sub esi, 0xc3981443
add esi, ecx
cmp edi, eax
jl 0xa78bba
add esi, 0x60af8457
mov ecx, 0x97179c18
add ecx, 0xbe7a73b4
or ecx, ecx
add esi, ecx
sub esi, ecx
mov esi, section.UPX1
inc ebx
mov ebx, 0xd3345bd0
mov ecx, section.UPX1
add ebx, 0x9a0d2b1e
sub ebx, 1
add ebx, 0xe74a8afc
mov edi, 0xa78795
or eax, eax
inc eax
mov edx, 0
mov ebx, eax
and ebx, ebx
mov dl, byte [ecx]
sub ebx, 0xd16a5980
not eax
mov byte [esi], dl
add eax, eax
sub ebx, 0xe74dc8b3
inc esi
mov ebx, eax
mov eax, 0x67b518b6
add ecx, 2
or eax, eax
sub eax, ebx
cmp ecx, edi
jle 0xa78c73
add ebx, 0xc2a639a2
add ebx, 0x99b041a6
dec ebx
mov ecx, 0x7b30eaf9
add ecx, 1
and esi, ecx
sub esp, 4
mov dword [esp], 0x8dc6a0
inc ecx
sub ecx, 0xcdf7aa69
ret