Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x72474f13
add ecx, edx
and edx, ecx
add ecx, ecx
popal
and ecx, edx
add ecx, 0xa21ab480
mov esi, 0
mov edx, eax
sub edi, 0xe5081481
mov ebx, edi
inc ebx
mov ecx, edx
inc ebx
add ebx, 0xaa782295
dec edi
mov eax, ecx
or ebx, ebx
add ebx, edi
not ebx
add esi, 1
mov ebx, edi
add edi, 0x88ba41ac
cmp esi, 0x10078ef
jne 0xa789c6
dec ebx
inc edi
and edi, ebx
and ecx, edx
add edx, 1
or edx, ecx
mov edi, 0xa78796
and eax, eax
mov esi, ebx
sub eax, 0x46c9f04
mov edx, 0xa7898a
sub ebx, 0x8230abee
dec ebx
add esi, eax
mov ecx, dword [edi]
and ebx, ebx
mov esi, eax
and ecx, 0xff
not eax
or eax, ebx
xor dword [edx], ecx
mov esi, 0x4e26793f
not eax
inc edx
sub esi, eax
and esi, ebx
add eax, 0xf023dc4c
add edi, 1
mov eax, ebx
mov ebx, 0x323984fb
cmp edx, entry0
jl 0xa78a28
not ebx
dec esi
or eax, eax
inc eax
or esi, ebx
not esi
sub ecx, edx
mov esi, edx
mov edi, 0xa7898e
mov edx, 0x356e60ce
add edx, 1
dec ecx
mov edi, dword [edi]
inc ecx
dec ecx
add ecx, ecx
mov edi, dword [edi]
and edx, ebx
sub ecx, 0xcd8699c5
push edi
or ebx, edx
add esi, 0x87735de3
mov edi, 0xa7898a
and edx, edx
sub esi, edx
mov edi, dword [edi]
and ebx, ebx
mov esi, 0x6e3d1fea
mov edi, dword [edi]
sub ebx, ecx
dec ebx
push 0xa78992
add edx, ecx
add ebx, edx
and ecx, ecx
call edi
sub edx, 0xe7c32b40
add esi, ecx
and edx, ebx
mov edi, dword [esp]
add esp, 4
not esi
mov ebx, 0x1718b76c
sub esp, 4
mov dword [esp], 0xa7899f
add edx, ecx
not edx
and ecx, edx
push eax
not esi
mov esi, 0x2af6e5d3
sub ecx, 0xf79f4f00
call edi
add ecx, ebx
mov ecx, 0x514914aa
inc esi
push 0x40
and ecx, esi
not ecx
or edx, edx
push 0x3000
and ebx, ebx
sub edx, esi
push 0x20000a03
dec ecx
mov ecx, 0x74f21cf6
push 0
mov edx, 0xaf8ec4d9
sub edx, 0x19f180df
call eax
sub edx, ecx
sub ecx, ebx
add eax, 0x2000094e
dec ecx
not ecx
sub esi, ecx
mov edi, 0x18f744b4
or edx, ecx
or edx, ecx
and edx, edx
mov dword [eax], edi
mov ecx, esi
and esi, esi
mov edi, dword [eax]
add ecx, 1
add ecx, 0x33cd62d1
cmp edi, 0x18f744b4
je 0xa78b6e
mov ecx, 0
mov bl, byte [ecx]
add esi, 0x9ed5fb87
not ebx
and ebx, ecx
or edx, ecx
sub edx, ecx
mov ecx, 0x85abb68d
mov edi, section.UPX1
add ecx, 0x85de4b87
sub ecx, 0x9d023475
and edx, ecx
mov esi, 0xa78795
add edx, 1
sub edx, 0x2220c288
or edx, ecx
mov eax, 0
not edx
sub ecx, 0xd4cb69d
add edx, 0xb18ad46f
mov ebx, 0xa78796
or edx, ecx
add edx, ecx
lea ebx, [eax + ebx]
and edx, ecx
add edx, 0x66bb7e2f
mov ebx, dword [ebx]
mov edx, 0xc3ef9dca
sub edx, ecx
and ebx, 0xff
mov ecx, 0x62ca995e
and edx, ecx
inc eax
sub edx, 0x1a596f56
mov ecx, 0xd0ad6e36
cmp eax, 0x1f4
jne 0xa78bfd
mov eax, 0
mov edx, 0xc58cf3b9
mov ecx, 0xfbfe022f
dec edx
mov edx, ecx
xor dword [edi], ebx
or ecx, ecx
mov ecx, edx
sub ecx, 1
add edi, 2
mov edx, ecx
mov edx, ecx
sub ecx, edx
cmp edi, esi
jl 0xa78bba
and ecx, edx
add edx, ecx
inc ecx
and edx, edx
sub ecx, edx
mov esi, section.UPX1
not ebx
sub ecx, 1
sub ebx, ecx
mov edi, section.UPX1
add ecx, 0x701b441a
sub ecx, 0xe2bd6d44
mov edx, 0xa78795
dec ebx
add ecx, 0xec841b9f
mov ecx, ebx
mov eax, 0
and ebx, ebx
inc ebx
mov al, byte [edi]
or ecx, ecx
not ebx
not ebx
mov byte [esi], al
sub ebx, 0x5f8b0b44
and ecx, ebx
inc esi
sub ebx, ecx
dec ecx
add edi, 2
sub ebx, 1
sub ebx, ecx
cmp edi, edx
jle 0xa78c69
sub ebx, ecx
mov ebx, 0x590a814c
or edx, edx
add edx, ecx
dec ecx
push 0x8dc6a0
add ecx, ecx
inc edx
ret