Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1c6cd84f
not ebx
mov ecx, 0x66706af4
and ebx, ebx
popal
or ecx, ecx
or ecx, ebx
sub ecx, ebx
mov eax, 0
mov ebx, esi
and ecx, ecx
or ecx, ecx
mov edi, ebx
mov edx, ecx
add ecx, 0x3fa7557f
add edx, edx
mov esi, edi
mov edx, ecx
sub edx, 0x994bf279
sub ecx, 0xfb865c56
add eax, 1
mov ecx, edx
sub ecx, edx
cmp eax, 0x100a7e6
jne 0xa789c7
and ecx, ecx
and ecx, edx
dec ecx
add ebx, ecx
add ebx, ecx
mov ebx, 0xa78796
sub edx, ecx
dec ecx
mov edi, 0xa7898a
mov esi, edx
and ecx, ecx
mov eax, dword [ebx]
mov esi, edx
and edx, esi
and eax, 0xff
add esi, 1
not edx
xor dword [edi], eax
dec edx
mov ecx, esi
sub ecx, 0x38cacf4f
inc edi
inc ecx
add ecx, 0x9e8e4857
inc ebx
sub edx, 0xcb543183
mov edx, ecx
and edx, esi
cmp edi, entry0
jl 0xa78a19
inc edx
dec ecx
and edx, ecx
mov ecx, 0xb6fec7d3
inc esi
add edi, edi
mov ecx, 0xa7898e
inc edi
add edi, edx
add edx, esi
mov ecx, dword [ecx]
not esi
mov edx, 0x2723d58c
mov ecx, dword [ecx]
sub edx, 0xe99a0522
inc esi
sub edx, 0xe2986e68
sub esp, 4
mov dword [esp], ecx
not edi
add esi, edi
mov ecx, 0xa7898a
add edx, edi
dec edx
or ebx, edi
mov ecx, dword [ecx]
sub edi, 0x60d805d3
sub ebx, 0x2388a23a
mov ecx, dword [ecx]
sub edi, 0xdfddf740
and ebx, edx
sub esi, 0xc0321c7b
push 0xa78992
or edx, edx
and ebx, edi
inc edi
call ecx
sub ebx, edx
not edi
and esi, edi
pop ecx
not edx
inc ebx
push 0xa7899f
add edi, 0xc02a857c
add edi, esi
push eax
mov edi, ebx
inc esi
and esi, edx
call ecx
sub esi, 0xcb3b9882
add edx, edi
add edi, edi
sub esp, 4
mov dword [esp], 0x40
add edi, edi
mov edi, edx
add esi, 0x85806eec
push 0x3000
sub edi, ebx
add edx, edi
sub edx, 0x87e281b9
push 0x200005c9
add esi, 0x8c56baa8
add edx, 0xa7c87ccb
sub esp, 4
mov dword [esp], 0
inc edx
add ebx, esi
call eax
dec edx
mov ebx, 0xab4aba1c
add eax, 0x2000051c
not ebx
not esi
mov ecx, 0xfeaeb633
add esi, 1
not edx
mov dword [eax], ecx
dec ebx
sub ebx, edi
add esi, ebx
mov ecx, dword [eax]
inc ebx
and edi, edi
or ebx, esi
cmp ecx, 0xfeaeb633
je 0xa78b69
mov ebx, 0
mov edx, dword [ebx]
add edi, esi
add edi, 0x1f7d88c7
mov esi, 0xe9a18780
dec esi
and ecx, ebx
or ebx, ebx
and ecx, ecx
mov edx, section.UPX1
sub ebx, ecx
mov ebx, 0x8fb1fa6
add ecx, 0x1a8129a8
mov esi, 0xa78795
add ecx, ecx
or ecx, ecx
mov eax, 0
dec ebx
inc ebx
mov edi, 0xa78796
dec ebx
dec ecx
lea edi, [edi + eax]
mov ebx, 0x12a1b4a
not ecx
mov edi, dword [edi]
dec ecx
or ebx, ebx
mov ecx, 0x30c25173
and edi, 0xff
dec ecx
dec ecx
add eax, 1
add ebx, 0x9bd2252a
add ecx, ecx
cmp eax, 0x1f4
jne 0xa78bdd
mov eax, 0
add ecx, 0xd1fd6a1a
add ecx, 0x2de4355d
or ecx, ebx
or ebx, ecx
add ebx, ecx
add ecx, 1
xor dword [edx], edi
or ebx, ebx
sub ecx, 1
add edx, 2
or ebx, ebx
sub ecx, 0xaf3192ce
mov ecx, ebx
cmp edx, esi
jl 0xa78b9f
sub ebx, 0xec4aa045
add ecx, 0xceb59236
dec ecx
mov ecx, ebx
mov eax, section.UPX1
sub ecx, edi
add edi, edi
mov esi, section.UPX1
mov edi, ecx
not ecx
mov ebx, 0xa78795
sub ecx, 0x53b7d55f
sub edi, 0x4f6a7660
add edi, ecx
mov edx, 0
mov ecx, edi
add ecx, 0xa2d2851c
mov dl, byte [esi]
inc ecx
or ecx, edi
mov byte [eax], dl
dec ecx
mov edi, 0x71a73f2b
and ecx, ecx
inc eax
mov ecx, edi
add edi, 0x8ff8a6c2
and edi, ecx
add esi, 2
dec edi
add edi, 1
or ecx, edi
cmp esi, ebx
jle 0xa78c58
not ecx
dec edi
sub ebx, ecx
sub ebx, 0xbd2d3ccd
sub ebx, 1
push 0x8dc6a0
add ecx, 0xd6bf30a6
inc ecx
ret