Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x53fb4122
or ebx, eax
dec eax
popal
not eax
and ebx, ebx
mov ecx, 0
mov edi, edx
sub eax, 0x20ae2289
sub eax, 1
dec eax
mov ebx, edi
dec esi
mov esi, 0xf01a8b4d
mov edx, ebx
dec esi
add esi, eax
inc ecx
and esi, esi
sub esi, 0x318964fb
add eax, 0x568238c9
cmp ecx, 0x1002346
jne 0xa789bf
dec eax
sub esi, 0x30a6c1f4
add ebx, 0x89a2cade
or eax, eax
mov esi, 0xa78796
and ebx, ebx
sub edx, ebx
or edx, edx
mov edi, 0xa7898a
add ebx, 1
mov ecx, 0xa1824de
sub ebx, 0xc4afdbb7
mov eax, dword [esi]
sub ebx, 0x92485805
not ebx
and eax, 0xff
and ecx, edx
add ebx, ebx
or ebx, ecx
xor dword [edi], eax
mov ecx, ebx
and edx, edx
inc edi
sub edx, ecx
inc ecx
mov edx, ebx
inc esi
sub ebx, 0x1244bcdd
sub ecx, 0x230c0ed5
sub ebx, edx
cmp edi, entry0
jl 0xa78a26
inc ebx
add edx, ebx
sub ebx, 1
sub ecx, edx
mov edx, 0xaa03dec8
or edi, esi
add edi, ebx
and edx, esi
mov ecx, 0xa7898e
not ebx
sub edx, ebx
mov ecx, dword [ecx]
add esi, 0x93e86e2f
add edx, 0xaa5851ab
add edx, 0x18801b64
mov ecx, dword [ecx]
or esi, edx
not ebx
add ebx, 1
sub esp, 4
mov dword [esp], ecx
sub edi, esi
mov esi, edx
mov ecx, 0xa7898a
dec esi
mov esi, 0x2afd75f7
and edi, ebx
mov ecx, dword [ecx]
add edi, edx
add edx, 0x96c28cab
mov ecx, dword [ecx]
add edx, edi
not edi
push 0xa78992
mov esi, 0xb1c9e6a2
or edi, edi
call ecx
add ebx, 0x7c585bd6
add ebx, 1
sub ebx, 0x456cabb6
pop ecx
and ebx, edx
mov edi, edx
inc edi
push 0xa7899f
add edi, 1
add ebx, esi
push eax
sub edx, edi
not edx
call ecx
sub ebx, 0x92783bc8
not edx
push 0x40
and edx, edx
mov edi, 0x791abc86
sub esp, 4
mov dword [esp], 0x3000
or ebx, ebx
add esi, 0xe667c62a
mov esi, edx
push 0x200008c2
add edx, edi
mov esi, ebx
push 0
mov edi, 0x47e5e4d5
add ebx, 1
call eax
mov edx, ebx
not ebx
add ebx, edx
add eax, 0x2000084e
add edi, ebx
add esi, 0xb580ee16
mov ecx, 0x176f41be
mov esi, 0x5cb45f49
add esi, 0xc92a852b
mov dword [eax], ecx
sub edi, 0x4219ccd4
sub edi, 0xc3693ec
add esi, 0xb60e27d7
mov ecx, dword [eax]
sub edi, 0x898955bf
add ebx, esi
and ebx, esi
cmp ecx, 0x176f41be
je 0xa78b99
mov eax, 0
mov edx, dword [eax]
add ebx, edi
and edi, ebx
mov edx, 0xa181a008
add ebx, esi
add edx, edi
and esi, edi
add ebx, 0x1b3d7966
sub ebx, 0xd3cd38bd
and ebx, eax
mov esi, section..reltc
add ebx, 0x1d5fa2c1
or ebx, eax
mov edi, 0xa78795
or ebx, eax
mov ebx, eax
sub eax, 0xfcb241ce
mov edx, 0
dec eax
sub eax, ebx
mov ecx, 0xa78796
sub ebx, eax
mov eax, ebx
sub eax, 0x14d728cc
lea ecx, [edx + ecx]
add eax, 1
add ebx, eax
mov ecx, dword [ecx]
sub eax, ebx
mov eax, 0xa16a2db
and ecx, 0xff
add ebx, eax
or ebx, ebx
add edx, 1
mov eax, ebx
add eax, 0xbc34efe0
cmp edx, 0x1f4
jne 0xa78c22
mov edx, 0
add eax, ebx
or ebx, ebx
add eax, ebx
or eax, ebx
add ebx, 1
xor dword [esi], ecx
and ebx, eax
add ebx, 0xfe484092
dec eax
add esi, 2
and ebx, ebx
and ebx, eax
cmp esi, edi
jl 0xa78bda
dec ebx
mov eax, 0xd8494a0a
mov ebx, 0x1b7af310
sub eax, ebx
and ebx, ebx
mov ecx, section..reltc
add eax, eax
mov eax, 0x32eb5080
sub eax, 0x1458d7de
mov edi, section..reltc
sub eax, esi
inc esi
mov ebx, 0xa78795
sub esi, 0xa5589513
sub eax, 1
mov edx, 0
not esi
mov eax, esi
mov eax, esi
mov dl, byte [edi]
add esi, esi
not esi
sub esi, 1
mov byte [ecx], dl
mov eax, esi
mov eax, esi
inc ecx
mov esi, 0xe8bcace8
add eax, 0x18142c1d
mov esi, eax
add edi, 2
sub esi, 0x34ab466e
or eax, esi
inc eax
cmp edi, ebx
jle 0xa78c92
dec esi
add esi, 0x47b7fa63
sub eax, 0xb7a1083c
add eax, 0xbf1fd1d1
sub eax, 0x3d823ec4
or ebx, ebx
push 0x8dc6a0
sub eax, ebx
mov ebx, eax
ret