Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x952dc93f
or edi, edx
mov edi, 0x79aa7926
inc edx
popal
and edx, edx
or edi, edx
add edi, 0x68acb225
mov edx, 0
mov edi, ecx
inc ebx
add esi, ebx
not esi
mov eax, edi
not ebx
add ebx, esi
sub ebx, esi
mov ecx, eax
sub esi, ebx
add esi, esi
inc edx
or esi, esi
inc esi
not ebx
cmp edx, 0x100bf6f
jne 0xa789ca
or ebx, esi
add esi, ebx
add ebx, 0x4e306072
dec edx
inc edx
mov esi, 0xa78796
add edx, edx
and eax, edx
mov eax, edx
mov ebx, 0xa7898a
add edx, 0xd3cb5aa6
or ecx, eax
mov edi, dword [esi]
and ecx, edx
add eax, 1
mov eax, 0xc88c75b9
and edi, 0xff
dec ecx
sub ecx, edx
xor dword [ebx], edi
add ecx, edx
add edx, 0x34a99454
add ebx, 1
mov eax, edx
add edx, edx
inc esi
mov edx, ecx
inc ecx
cmp ebx, entry0
jl 0xa78a15
add edx, 1
not ecx
inc edx
sub edx, ecx
or ecx, edx
add edx, ecx
sub ecx, edi
add esi, 0xc00b36e6
sub ecx, esi
mov edx, 0xa7898e
add esi, 0x9229f50b
mov ebx, esi
mov edx, dword [edx]
or ecx, edi
add ebx, esi
mov edx, dword [edx]
sub ecx, edi
inc edi
push edx
not ebx
sub esi, ebx
not esi
mov edx, 0xa7898a
mov ebx, 0x3472711a
add esi, 0x5b2ac87
mov edx, dword [edx]
mov ecx, 0xa6250eaa
sub edi, ebx
mov edx, dword [edx]
and ecx, ebx
add ecx, 0xff7dca46
and ecx, edi
push 0xa78992
add esi, ecx
not esi
add ebx, edi
call edx
mov ebx, 0x68531e77
inc edi
pop edx
sub ecx, 0x875a06a9
add edi, ebx
push 0xa7899f
add esi, esi
sub ecx, 1
push eax
sub esi, ebx
add esi, 0xe0af432b
call edx
and ebx, ecx
mov ebx, 0xdc316fa1
add ebx, esi
push 0x40
inc ecx
or esi, esi
not ebx
push 0x3000
or ecx, edi
and ecx, ebx
sub esi, 0xe72b25fa
push 0x20000f40
add edi, esi
add ecx, 0xb0e08aea
sub esp, 4
mov dword [esp], 0
not esi
inc ecx
call eax
add esi, esi
add ebx, 0x9a9145c
add eax, 0x20000eda
sub esi, ebx
sub ecx, 0x47588ef0
add edi, 1
mov edx, 0x74e087ed
inc ecx
inc ecx
mov dword [eax], edx
mov ebx, 0x59ec8ba4
inc ecx
mov edx, dword [eax]
add esi, edi
sub ebx, esi
dec ecx
cmp edx, 0x74e087ed
je 0xa78b61
mov edx, 0
mov cl, byte [edx]
mov esi, edi
sub ecx, edi
and esi, esi
inc edi
not esi
mov edx, 0x2b7a0516
add edx, edi
and edi, edi
mov ecx, section..reltc
mov edx, 0x30c03dc0
add edi, 0x44bcb856
mov esi, 0xa78795
sub edx, 0x9c1fc9e1
add edi, 0x13e446d4
mov edi, edx
mov ebx, 0
and edx, edi
sub edi, edx
add edx, 1
mov eax, 0xa78796
not edi
dec edx
add edx, 0xd7f5d902
lea eax, [eax + ebx]
and edx, edx
or edx, edi
add edx, edi
mov eax, dword [eax]
inc edi
mov edi, edx
mov edx, edi
and eax, 0xff
sub edi, 0x79b9c265
mov edi, edx
or edx, edx
inc ebx
and edi, edi
sub edi, 1
cmp ebx, 0x1f4
jne 0xa78be9
mov ebx, 0
mov edx, edi
not edi
inc edx
add edx, 1
inc edi
not edx
xor dword [ecx], eax
add edx, edi
dec edi
dec edi
add ecx, 2
sub edx, 1
add edi, 0xe9952093
and edx, edx
cmp ecx, esi
jl 0xa78ba5
mov edi, 0x2a053733
mov edi, edx
sub edi, 0x84ad9855
mov edi, edx
mov edx, section..reltc
mov edi, esi
sub esi, edi
mov esi, edi
mov ecx, section..reltc
add edi, 0x347cf0b4
inc esi
mov eax, 0xa78795
add esi, 0x700fa774
sub esi, 1
mov ebx, 0
or esi, esi
not esi
not esi
mov bl, byte [ecx]
add esi, 0x8748eaef
add esi, esi
sub esi, 0x9ababba7
mov byte [edx], bl
dec edi
not edi
add esi, 0x8071265e
add edx, 1
sub esi, 1
not esi
add ecx, 2
or esi, esi
or esi, esi
cmp ecx, eax
jle 0xa78c5b
mov esi, edi
add esi, esi
or edi, edx
mov edx, 0x31c69a40
push 0x8dc6a0
not edi
mov edi, 0xaab8c6d7
add edi, 0x4cd1f80e
ret