Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2f243711
inc edi
sub eax, edi
and edi, eax
popal
mov eax, edi
sub edi, 0xc196539c
mov eax, 0
mov ebx, edx
dec edi
or edi, edi
dec edi
mov esi, ebx
sub edi, 0x9f4b0ef8
not edi
add edi, ecx
mov edx, esi
add ecx, ecx
add edi, edi
add eax, 1
or ecx, edi
sub ecx, 0x6b0f9948
cmp eax, 0x10076d2
jne 0xa789c5
inc edi
sub ecx, 0x412c962d
add ecx, 0x99dcb80f
mov edi, 0x67204c7
sub edi, eax
and eax, eax
mov eax, 0xa78796
or edx, ebx
add edx, 0xd76266ff
not ebx
mov ecx, 0xa7898a
or edi, ebx
sub edx, 0x8c726089
mov esi, dword [eax]
inc edi
sub edx, 1
add ebx, edx
and esi, 0xff
sub ebx, 0xd1777b9d
inc edi
mov ebx, edi
xor dword [ecx], esi
sub edx, 1
sub edi, 0x827096c0
inc ecx
mov edi, ebx
add edi, edi
inc eax
inc ebx
add edx, 0x4c44fbac
cmp ecx, entry0
jl 0xa78a29
mov ebx, edi
inc ebx
sub edx, 0x7d1f0e70
add ebx, 0x69697453
dec ecx
and edx, edx
add edi, 0xbaae50c9
mov esi, 0xa7898e
add ecx, ecx
dec edi
mov esi, dword [esi]
mov edi, ebx
not edx
mov esi, dword [esi]
and edx, edi
add ebx, 0xdb1b8424
push esi
sub ebx, 0x705a7d87
add ecx, 0xd4b697c1
mov esi, 0xa7898a
add ecx, 0x853a1473
and ecx, ecx
mov esi, dword [esi]
sub edi, ecx
add ebx, 0x54918abc
mov esi, dword [esi]
mov ebx, edx
add ecx, 1
push 0xa78992
add edx, 0x93b0734f
inc ebx
call esi
not edx
add ebx, 0x7fdb0836
pop esi
mov edi, ecx
add edx, ecx
sub ebx, edx
push 0xa7899f
dec edx
or ebx, edx
push eax
sub edx, 0xe5a53c03
mov ebx, edi
sub edi, edx
call esi
or edx, edx
sub ecx, 0xd446f894
and ebx, ebx
push 0x40
mov ebx, ecx
sub ecx, 0xfbdeda62
mov ebx, 0x76f1692a
sub esp, 4
mov dword [esp], 0x3000
or edx, ecx
dec edx
push 0x20000c21
add ecx, 0x1810e7c1
or ecx, edi
push 0
not ebx
not ecx
call eax
add edi, 0xdc93e1cb
inc ebx
and ecx, ecx
add eax, 0x20000b9f
and edi, ecx
sub ecx, 0xb3c07138
mov esi, 0x85ba821d
inc edi
add ebx, 1
sub edi, 0xcb966e47
mov dword [eax], esi
mov edi, 0x422e2699
sub edx, ecx
mov esi, dword [eax]
inc ebx
dec edi
inc edi
cmp esi, 0x85ba821d
je 0xa78b81
mov ecx, 0
mov ebx, dword [ecx]
sub edi, 0x355d5a58
dec edx
not edx
add edx, 0x9a7a1a73
add ebx, 0x4d293447
sub edx, 0x9cb1bd0a
add edi, edi
sub eax, 0xae43bca6
mov ecx, section..reltc
or eax, edi
mov eax, 0xc168824e
mov edx, 0xa78795
and edi, edi
add eax, eax
mov esi, 0
add edi, eax
and edi, edi
sub edi, 0x54d8e81
mov ebx, 0xa78796
mov eax, edi
dec edi
lea ebx, [ebx + esi]
or edi, eax
add edi, eax
mov ebx, dword [ebx]
mov edi, eax
sub eax, 1
and ebx, 0xff
mov eax, 0xf8fab542
sub edi, eax
sub edi, 0x9c1908c0
add esi, 1
sub edi, 0x2933c55d
add edi, 0xe7e74923
cmp esi, 0x1f4
jne 0xa78c13
mov esi, 0
mov edi, eax
or eax, eax
dec edi
not eax
xor dword [ecx], ebx
or eax, eax
and edi, eax
add edi, 0x54caa4d4
add ecx, 2
and eax, eax
sub edi, eax
add eax, 0xcf1d2b70
cmp ecx, edx
jl 0xa78bc8
or eax, eax
and edi, edi
sub eax, 0xf4cb9d3a
sub edi, eax
and edi, edi
mov edi, section..reltc
add eax, 0xbc0dd45e
not eax
not eax
mov esi, section..reltc
sub eax, 0x21e2d625
or eax, eax
add eax, edx
mov ecx, 0xa78795
sub edx, eax
sub eax, edx
mov ebx, 0
and eax, edx
and eax, eax
add edx, 0xde9416c8
mov bl, byte [esi]
add eax, 0xb35099dd
add edx, 0x1efcc4bf
mov byte [edi], bl
not eax
sub edx, eax
dec edx
inc edi
sub eax, edx
add edx, eax
add esi, 2
mov eax, 0xd030674e
add edx, edx
cmp esi, ecx
jle 0xa78c82
sub eax, edx
add edx, edx
sub eax, edx
and edi, eax
mov edi, 0xd77ace5e
sub eax, 0x5a9c689b
push 0x8dc6a0
sub eax, 0x2a353ea5
or edi, eax
ret