Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf6c5626e
not ecx
and ebx, ecx
popal
not ecx
add ebx, 0x4257e01e
or ebx, ecx
mov esi, 0
mov ebx, eax
sub edi, 0x48ebbe64
dec edx
mov ecx, ebx
sub edi, 0x1bfca5a6
or edx, edx
mov eax, ecx
add edi, 0x96ad2623
and edi, edx
inc esi
add edx, 0xddae7764
and edx, edi
cmp esi, 0x1004c98
jne 0xa789c6
sub edi, 1
add edx, edx
add ecx, 0x11ca019c
not ebx
mov edx, 0xa78796
mov ecx, eax
not eax
mov esi, 0xa7898a
mov edi, ecx
not eax
mov ebx, dword [edx]
inc edi
not ecx
add ecx, eax
and ebx, 0xff
or edi, ecx
mov eax, edi
not ecx
xor dword [esi], ebx
sub edi, eax
add eax, 0x8fda531d
add ecx, eax
inc esi
add ecx, 0xac7c9b03
add ecx, ecx
inc edx
or ecx, eax
and edi, eax
dec ecx
cmp esi, entry0
jl 0xa78a1a
not edi
sub eax, 0xfd008147
mov ecx, 0x6b005bcc
add ecx, eax
or eax, eax
add esi, 1
sub ebx, edi
mov edx, 0xa7898e
not edi
sub ecx, 0xe033f11e
mov edx, dword [edx]
sub ecx, edi
add ebx, 0x1303f997
mov edx, dword [edx]
sub ecx, 1
add ebx, 0x2bd0bd37
push edx
inc ecx
sub esi, 1
mov esi, 0x4257a403
mov edx, 0xa7898a
or edi, ecx
sub esi, 0x46f81756
mov edx, dword [edx]
and esi, edi
add ecx, ecx
mov edx, dword [edx]
sub ebx, esi
inc esi
push 0xa78992
add ebx, esi
dec esi
sub edi, 0x5b9a5671
call edx
sub ebx, 0x33c37586
sub edi, 0xe70af823
sub ecx, 1
pop edx
or ebx, edi
sub ebx, edi
push 0xa7899f
mov ecx, edi
sub esi, 0x2a4473eb
and edi, ecx
push eax
sub esi, 0xc6d23745
add ebx, 0x50ef493f
call edx
mov esi, 0xb83b04c5
add ecx, esi
sub esp, 4
mov dword [esp], 0x40
sub esi, 1
sub esi, ebx
push 0x3000
add esi, 1
sub ecx, 1
or esi, edi
push 0x20000d02
and ecx, ecx
add esi, esi
push 0
sub ebx, esi
or esi, esi
and edi, ebx
call eax
inc ecx
not ebx
add eax, 0x20000c77
sub ebx, ecx
mov ebx, edi
mov ebx, 0x73eb187e
mov edx, 0xf8866707
not ebx
sub esi, ecx
mov dword [eax], edx
or edi, ecx
inc edi
sub edi, ebx
mov edx, dword [eax]
not ecx
add esi, 0x5a69c707
cmp edx, 0xf8866707
je 0xa78b79
mov ebx, 0
mov ecx, dword [ebx]
not ebx
add ecx, 0xd872bf1e
not edi
add ecx, 1
not esi
add ebx, ecx
and ebx, ebx
inc ebx
mov eax, section..reltc
not ecx
add ebx, 0x432703fa
sub ecx, ebx
mov edi, 0xa78795
add ebx, 0xece28b55
and ecx, ebx
add ecx, 1
mov esi, 0
add ebx, ebx
and ebx, ebx
mov edx, 0xa78796
not ecx
sub ecx, 0x21ff80ed
lea edx, [edx + esi]
add ecx, 0x6ab3237
mov ebx, ecx
sub ebx, 0x8597d2f5
mov edx, dword [edx]
or ecx, ecx
add ecx, 0x9b8cf667
and edx, 0xff
add ebx, 0x4aa4b202
sub ecx, 0xea8f0ee0
inc ecx
inc esi
inc ebx
add ebx, 0x138905bc
cmp esi, 0x1f4
jne 0xa78c0b
mov esi, 0
mov ebx, ecx
sub ebx, ecx
add ebx, 0x7d62f6e2
mov ecx, 0xe88218d6
not ecx
xor dword [eax], edx
mov ecx, 0x9a3142f8
mov ebx, ecx
and ebx, ecx
add eax, 2
add ebx, 0x57b6fd21
mov ebx, 0xfb26026a
cmp eax, edi
jl 0xa78bbb
or ebx, ebx
mov ecx, 0x21f4e11d
or ebx, ecx
or ebx, ecx
sub ebx, 0x6742adb3
mov ebx, 0x3c0c1e63
mov edi, section..reltc
and esi, esi
mov esi, edx
add edx, esi
mov ecx, section..reltc
and esi, edx
not edx
mov ebx, 0xa78795
add esi, esi
sub esi, 1
mov eax, 0
inc esi
dec esi
mov al, byte [ecx]
not esi
and esi, edx
mov byte [edi], al
sub esi, edx
add esi, 1
inc esi
inc edi
not edx
sub esi, 0xa11276f6
add ecx, 2
add esi, 0x78ac49e5
and esi, esi
cmp ecx, ebx
jle 0xa78c7e
not esi
mov edx, esi
mov ebx, ecx
not ecx
push 0x8dc6a0
not ebx
dec ecx
ret