Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x557a4b1f
add ebx, ebx
add ebx, edi
popal
dec ebx
not edi
add ebx, 0xa32a32e2
mov edx, 0
mov ebx, edi
sub esi, ecx
add ecx, esi
mov eax, ebx
dec ecx
add ecx, esi
sub ecx, esi
mov edi, eax
and esi, ecx
mov ecx, esi
inc edx
add ecx, ecx
or esi, esi
inc ecx
cmp edx, 0x1005e93
jne 0xa789c5
add ecx, esi
inc ecx
sub ecx, 0xd7f83d27
dec edi
add ebx, 0xd31fc4b6
mov edx, 0xa78796
and ebx, edi
add edi, 0x6a1ab5a9
sub esi, edi
mov eax, 0xa7898a
mov edi, esi
sub edi, 0x21ccbcd5
mov ecx, dword [edx]
add esi, esi
or ebx, esi
and ecx, 0xff
mov esi, edi
add ebx, ebx
xor dword [eax], ecx
sub ebx, 1
mov esi, 0x6b2732e9
and edi, edi
inc eax
sub ebx, 0x85217e27
not ebx
add edx, 1
mov ebx, 0x9fe32f1
sub ebx, 1
mov ebx, edi
cmp eax, entry0
jl 0xa78a16
sub esi, 1
not esi
not esi
add ebx, ebx
mov edi, 0x3ae78d7d
and edi, ecx
and ebx, ebx
and ebx, ecx
mov edx, 0xa7898e
sub ebx, 1
mov edi, 0x4a0d08b2
add edi, edi
mov edx, dword [edx]
mov ecx, edi
mov edi, 0xf868275e
mov edi, esi
mov edx, dword [edx]
not esi
sub ebx, 0xea8989d0
push edx
add ebx, ebx
not esi
mov edx, 0xa7898a
dec ecx
mov edi, 0xd22163bc
mov edx, dword [edx]
sub esi, 0xf918a2cf
or ebx, ebx
mov esi, 0x883a514e
mov edx, dword [edx]
inc edi
add ebx, 1
sub esp, 4
mov dword [esp], 0xa78992
mov ebx, 0xf57d8e18
add esi, 0x7b904b1a
add edi, 0xf73be3fd
call edx
dec ecx
and ecx, ebx
mov edx, dword [esp]
add esp, 4
mov edi, 0x4c7ae942
sub edi, 0xebe42a2a
push 0xa7899f
sub esi, 0x9f85040d
and esi, ebx
or ecx, esi
push eax
sub ecx, 0x8fa62b0a
add ebx, ecx
call edx
sub ecx, esi
add edi, 0xc36d0a58
push 0x40
add edi, edi
and edi, ebx
push 0x3000
sub ecx, 0xb61902da
dec esi
push 0x2000069f
and ebx, ecx
dec ecx
sub esp, 4
mov dword [esp], 0
and edi, esi
dec edi
mov ebx, 0x1bcf14ca
call eax
sub ebx, 1
sub edi, esi
inc esi
add eax, 0x20000635
or edi, ebx
sub edi, esi
add esi, esi
mov edx, 0x631c7e64
or edi, edi
add ebx, ebx
mov ebx, edi
mov dword [eax], edx
dec esi
mov ebx, esi
mov edx, dword [eax]
sub esi, ebx
sub ecx, 1
mov esi, ebx
cmp edx, 0x631c7e64
je 0xa78b87
mov ecx, 0
mov byte [ecx], dl
add ebx, 1
sub esi, ebx
add ebx, 0x3418a015
sub edi, 0xdad0aae9
not ebx
mov edi, ebx
or ebx, edi
mov ecx, section..text
dec edi
add ebx, 0x25caa0dd
mov eax, 0xa78795
or ebx, edi
sub edi, 0x5a2c8a19
mov edx, 0
sub ebx, 0xcf53cec0
add edi, 0x8b50df85
mov esi, 0xa78796
mov ebx, 0xab4e33db
mov edi, ebx
add ebx, 0x53588ed
lea esi, [esi + edx]
dec edi
not ebx
sub ebx, 0x2ed0b5ff
mov esi, dword [esi]
sub ebx, 0xb8cfa1d5
or edi, ebx
and esi, 0xff
mov edi, ebx
mov ebx, 0x8e322c0
dec edi
inc edx
sub edi, 0x89a141c1
dec ebx
cmp edx, 0x1f4
jne 0xa78c16
mov edx, 0
mov ebx, edi
dec ebx
sub ebx, 0xde63313e
sub edi, ebx
mov edi, ebx
add edi, 0xedcdac58
xor dword [ecx], esi
mov ebx, edi
sub edi, 0x89296d96
not edi
add ecx, 2
add edi, 0x2b69a4c
sub ebx, 1
sub ebx, 0x4289dfa3
cmp ecx, eax
jl 0xa78bcb
add edi, ebx
add edi, edi
add ebx, 0xe9865d43
sub ebx, edi
sub ebx, 0xfeea45d
mov edi, section..text
mov ecx, 0x37a285c8
inc esi
add esi, 1
mov ebx, section..text
sub esi, 1
sub esi, 0x307751e9
mov edx, 0xa78795
sub ecx, esi
add esi, 0x1bcf563d
mov eax, 0
add ecx, ecx
and esi, esi
mov al, byte [ebx]
dec ecx
mov esi, 0xf7bae151
mov byte [edi], al
add esi, ecx
inc ecx
or ecx, ecx
inc edi
and ecx, ecx
or ecx, esi
add ebx, 2
or esi, ecx
add ecx, 0x87bb837c
not esi
cmp ebx, edx
jle 0xa78c9f
not esi
sub ecx, esi
mov edi, ebx
inc edi
and ebx, edi
push 0x8dc6a0
add edi, edi
add ebx, 0x5738d9ae
ret