Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb222cd71
mov edi, 0x57b1b50c
mov ebx, edi
add edi, 0x8d807303
popal
mov ebx, edi
dec ebx
mov edi, 0x26f7226f
mov ecx, 0
mov esi, ebx
mov edi, edx
and edx, edx
mov eax, esi
dec edx
or edx, edx
sub edi, edx
mov ebx, eax
sub edi, 1
add edx, 0x8e19908a
inc ecx
not edi
sub edi, edx
cmp ecx, 0x1003d92
jne 0xa789cd
sub edi, edx
and edx, edi
and edi, edi
or ebx, edi
and ebx, edi
mov esi, 0xa78796
and edi, eax
mov edi, 0x7701c8cd
mov edx, 0xa7898a
mov ecx, edi
and ecx, ecx
add edi, ecx
mov ebx, dword [esi]
mov edi, 0x5fa67339
add eax, edi
dec edi
and ebx, 0xff
mov ecx, 0x4c573bcd
not ecx
xor dword [edx], ebx
not ecx
sub ecx, 0x79bf4d31
mov eax, edi
add edx, 1
add edi, 0x561c9f9f
sub eax, edi
dec eax
add esi, 1
not ecx
mov edi, 0xaefbfd62
cmp edx, entry0
jl 0xa78a1a
add ecx, 1
mov ecx, 0xba544612
not ecx
not edi
add eax, 0xfce6031c
mov edi, 0xb34bca5e
sub ebx, edi
and ebx, esi
mov edx, 0xa7898e
inc ebx
and ebx, edi
mov edx, dword [edx]
mov esi, 0x572d5cdb
dec edi
mov edx, dword [edx]
sub esi, edi
sub ecx, 0x9f2eb919
push edx
add edi, 0xceb0eaa6
mov ecx, edi
mov edx, 0xa7898a
sub ecx, edi
not edi
and ebx, ecx
mov edx, dword [edx]
add esi, ebx
add esi, edi
mov edx, dword [edx]
mov ecx, 0x878b9820
add ebx, ebx
push 0xa78992
sub ebx, edi
and esi, ebx
add esi, 0x54a5b2df
call edx
dec ecx
sub ebx, edi
sub edi, 0x35a40518
mov edx, dword [esp]
add esp, 4
sub ecx, 0x5cc1208d
mov esi, ecx
mov ebx, 0x21caf52c
sub esp, 4
mov dword [esp], 0xa7899f
and edi, ecx
sub edi, 0xe0e9734d
inc ecx
push eax
add ecx, 0x705ceb52
add edi, edi
mov edi, 0xa3b40fef
call edx
and ecx, ebx
sub ecx, ebx
push 0x40
mov esi, 0xf1608d13
mov esi, ebx
sub esp, 4
mov dword [esp], 0x3000
mov edi, 0x9110271e
add ebx, 0xf3109b45
or ebx, edi
push 0x2000024c
and esi, ecx
mov ebx, 0x6a253560
push 0
inc ebx
mov ecx, 0x7a18f0b7
sub esi, 0xb90b7e7a
call eax
or edi, edi
add ebx, 0x98c5d72b
add eax, 0x2000018e
mov edi, 0xbe5b6bd5
sub ecx, 0x65b51f43
mov edx, 0xdeb4bea9
sub ebx, 1
or ecx, edi
mov dword [eax], edx
inc edi
sub ebx, ecx
inc ecx
mov edx, dword [eax]
inc esi
mov ecx, 0xefac51cc
cmp edx, 0xdeb4bea9
je 0xa78b99
mov ebx, 0
mov ecx, dword [ebx]
dec ecx
or ebx, esi
inc edi
add edi, ebx
add ebx, 1
mov ebx, 0x8516179b
not ebx
mov edx, section..data
sub ebx, 1
not ebx
mov ecx, 0xa78795
sub edi, 0x93d9049c
sub ebx, edi
mov eax, 0
dec ebx
add ebx, 1
mov ebx, 0x1c7f10bf
mov esi, 0xa78796
mov edi, ebx
add ebx, 0xfc1e681a
mov edi, ebx
lea esi, [esi + eax]
sub edi, 0x86347a8
and ebx, edi
mov esi, dword [esi]
add edi, ebx
not edi
not edi
and esi, 0xff
add edi, edi
mov ebx, 0xde348793
add eax, 1
mov ebx, 0x1af0113e
sub ebx, edi
dec ebx
cmp eax, 0x1f4
jne 0xa78c21
mov eax, 0
sub ebx, 0x17599d0
add ebx, ebx
mov edi, 0xdb2d28d6
not ebx
xor dword [edx], esi
or ebx, edi
add edi, 0x4082039
not ebx
add edx, 2
not edi
mov edi, 0xa0a29208
add edi, ebx
cmp edx, ecx
jl 0xa78bd7
and ebx, edi
sub edi, 0x852cbd3b
add edi, 0x4d3d5689
not edi
inc ebx
mov edi, section..data
sub ebx, 0xb9594265
mov ebx, esi
add esi, 0x4729f107
mov edx, section..data
mov ebx, esi
add esi, esi
mov ebx, esi
mov eax, 0xa78795
sub esi, 0x74358331
sub ebx, 0xf7147d06
mov ecx, 0
inc esi
inc ebx
mov cl, byte [edx]
sub ebx, 0x6e62a87b
sub esi, ebx
mov byte [edi], cl
dec ebx
dec ebx
inc edi
dec ebx
mov ebx, 0xb8c89c91
inc esi
add edx, 2
mov esi, 0xc9bf6100
not esi
not esi
cmp edx, eax
jle 0xa78c9a
and esi, ebx
sub ebx, esi
dec ebx
mov ebx, 0xb4cbb78f
add ebx, ebx
push 0x8dc6a0
sub edi, ebx
add edi, ebx
or edi, ebx
ret