Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xfd05e5b2
add esi, eax
inc eax
popal
sub esi, 0x35ae4b08
and esi, esi
mov ecx, 0
mov ebx, edx
dec esi
mov eax, esi
dec esi
mov edi, ebx
sub eax, esi
and eax, eax
sub esi, 0x6e6d2055
mov edx, edi
dec eax
mov eax, esi
inc ecx
add esi, eax
add esi, esi
cmp ecx, 0x100a2bd
jne 0xa789c3
not eax
mov esi, 0x69617dc7
inc esi
add eax, eax
or eax, eax
mov eax, 0xa78796
sub ecx, 0x8641a1fe
inc edi
inc ecx
mov ebx, 0xa7898a
add ecx, 0x8eb0b265
mov edi, esi
mov edx, dword [eax]
sub ecx, 0x923b718b
sub esi, 0x123f5ad5
and edi, esi
and edx, 0xff
mov edi, 0x18414457
not edi
sub edi, ecx
xor dword [ebx], edx
dec edi
mov esi, edi
mov edi, esi
inc ebx
mov esi, 0x3417600b
add esi, edi
and ecx, edi
inc eax
add edi, edi
mov ecx, edi
cmp ebx, entry0
jl 0xa78a11
not ecx
mov edi, ecx
sub ecx, edi
add edi, 0x59e1ab1a
sub edi, ecx
sub edi, 0x7dd53935
and ebx, esi
and edx, esi
mov edi, 0xa7898e
and ebx, esi
mov ecx, edx
mov edi, dword [edi]
sub ecx, 0x7607c43
sub ecx, 0xbbb16dae
mov edi, dword [edi]
mov esi, 0x42e8ed6c
inc ebx
push edi
mov ebx, edx
dec esi
and esi, edx
mov edi, 0xa7898a
add ebx, ecx
add esi, edx
mov edi, dword [edi]
mov edx, ebx
mov edx, ecx
sub edx, 0xc7d6221f
mov edi, dword [edi]
or esi, edx
and ebx, ecx
not ebx
push 0xa78992
add ecx, ebx
and ecx, ecx
call edi
mov esi, 0xa294deb3
sub ecx, 0x518bb6e0
pop edi
sub ebx, esi
sub ecx, 0xbf8186a3
dec ebx
sub esp, 4
mov dword [esp], 0xa7899f
sub edx, 0x46503c19
or ebx, ecx
dec ecx
push eax
sub edx, 1
and ecx, edx
inc esi
call edi
mov ecx, esi
mov ebx, 0x4fe72711
sub ebx, 0x2647dd5d
push 0x40
or ebx, ecx
not ebx
inc edx
push 0x3000
mov esi, ebx
sub ecx, esi
mov esi, ecx
push 0x20000a74
add ecx, 0xa5bb44f4
inc ecx
sub esp, 4
mov dword [esp], 0
or ebx, ebx
dec edx
or edx, ebx
call eax
sub ecx, edx
add ecx, 0xae63aff5
mov edx, ecx
add eax, 0x200009e4
mov ecx, edx
sub ebx, 0xbc61df9c
add edx, 0xe21ccc
mov edi, 0x82491704
mov ebx, 0x1392608
sub ebx, 1
mov dword [eax], edi
not edx
or edx, esi
dec ebx
mov edi, dword [eax]
or edx, edx
dec ecx
mov ecx, 0x9e41cca1
cmp edi, 0x82491704
je 0xa78b78
mov ecx, 0
mov byte [ecx], dl
sub esi, 0xac4faa91
add esi, esi
mov ecx, 0xe7db3cd1
dec esi
sub ecx, 0xa9f50c14
mov eax, 0xf502e711
and esi, eax
not eax
mov edi, section..text
dec eax
add esi, eax
mov eax, esi
mov ecx, 0xa78795
mov eax, 0x163f42e1
add eax, eax
mov edx, 0
mov esi, 0xfffa9f35
add eax, esi
mov eax, 0xf9258593
mov ebx, 0xa78796
or esi, esi
dec eax
lea ebx, [edx + ebx]
add esi, 0x46c3e804
inc eax
or eax, esi
mov ebx, dword [ebx]
sub esi, 1
not eax
and ebx, 0xff
add eax, eax
dec eax
inc edx
sub eax, esi
inc esi
dec esi
cmp edx, 0x1f4
jne 0xa78bf5
mov edx, 0
inc esi
mov eax, esi
dec eax
sub eax, esi
add eax, eax
or eax, esi
xor dword [edi], ebx
not esi
not eax
add edi, 2
mov esi, 0x9e8d9d9e
mov eax, esi
cmp edi, ecx
jl 0xa78bbc
sub esi, 1
add eax, eax
mov esi, 0x9c60f6cb
sub esi, eax
sub esi, eax
and esi, eax
mov edi, section..text
inc esi
or ebx, ebx
mov ecx, section..text
and ebx, ebx
not esi
mov eax, 0xa78795
dec ebx
mov ebx, esi
and esi, ebx
mov edx, 0
add ebx, esi
mov ebx, esi
mov esi, ebx
mov dl, byte [ecx]
and ebx, esi
add ebx, ebx
mov byte [edi], dl
sub esi, ebx
or esi, ebx
add edi, 1
inc ebx
mov esi, ebx
add ecx, 2
sub esi, 0xfac1d7df
add esi, 0x71ecb418
cmp ecx, eax
jle 0xa78c53
not ebx
add ebx, ebx
not ebx
mov esi, eax
and eax, esi
push 0x8dc6a0
sub eax, esi
sub esi, 0x51ecb7b9
ret