Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x37dcb2a3
not ecx
or ecx, ebx
sub ecx, ebx
popal
mov ecx, ebx
mov ebx, 0xd49ee7ac
mov edx, 0
mov ecx, ebx
not edi
dec edi
add esi, 0x4ca3b262
mov eax, ecx
add esi, esi
and esi, edi
mov esi, 0x361a9881
mov ebx, eax
sub edi, 1
mov edi, 0xbe55ef33
sub esi, edi
inc edx
sub esi, 1
add edi, edi
sub edi, 0x2c48b7e5
cmp edx, 0x100bb71
jne 0x47afd1
mov esi, edi
mov edi, esi
add esi, 0xa6cfa5e7
cmp edx, 0x100bb71
je 0x47b02a
mov ecx, 0
mov edx, dword [ecx]
sub esi, edi
or esi, edi
sub ecx, 0x337d9618
sub ecx, ebx
mov edi, 0x47ada2
sub edx, 0xa59356e2
inc edx
mov esi, 0x47af96
add edx, 0x18eea4e0
mov eax, edx
mov ebx, dword [edi]
add edx, 0x20464240
sub edx, 0x2545db8b
and ebx, 0xff
and ecx, edx
sub edx, ecx
xor dword [esi], ebx
sub edx, eax
inc edx
sub eax, ecx
inc esi
mov edx, 0x3d1c89ca
sub ecx, 1
inc edi
inc edx
add eax, edx
cmp esi, entry0
jl 0x47b04f
mov eax, 0xd8bc5e85
or eax, ecx
and edx, edx
or ecx, eax
not edx
or ecx, edi
mov ebx, 0xd951ac62
mov edx, ebx
mov esi, 0x47af9a
not ecx
mov ebx, 0x49c7c79f
mov esi, dword [esi]
sub edi, edx
add edi, edx
add edi, edx
mov esi, dword [esi]
sub edx, 0xcfc34fb8
dec edi
sub edi, 0xd8e97382
sub esp, 4
mov dword [esp], esi
mov edx, 0x192148fd
sub ebx, 1
mov esi, 0x47af96
and edi, edi
sub ebx, 0x18575996
and edx, edx
mov esi, dword [esi]
and ebx, edx
dec ecx
mov esi, dword [esi]
inc edx
add edi, 1
push 0x47af9e
add edi, 0x1a0eddcf
sub ebx, edx
and ecx, ebx
call esi
mov ebx, 0xd8ddb22d
or edi, edx
pop esi
or ebx, ecx
add edx, 0xd914121e
sub ecx, 0xcbbb354b
push 0x47afab
inc ecx
sub edx, 0x9b44439d
sub edi, 0xf2e105b7
push eax
and edx, edx
mov edi, 0x15a46ce3
dec ecx
call esi
sub edi, 0xddf495c1
or ecx, ebx
sub esp, 4
mov dword [esp], 0x40
mov ecx, 0x6bac8b8b
not ecx
sub esp, 4
mov dword [esp], 0x3000
inc ecx
mov edx, ecx
inc ecx
push 0x20000d10
add edx, ebx
inc edi
mov edi, ebx
push 0
dec edx
sub ebx, edx
call eax
add ecx, ecx
dec edi
add eax, 0x20000ca3
or ecx, ebx
dec ecx
mov esi, 0x9ef51d5c
not ecx
sub ebx, ecx
add edx, ebx
mov dword [eax], esi
inc ecx
mov edi, 0xe78d6676
dec ecx
mov esi, dword [eax]
add edi, edx
dec ebx
dec ecx
cmp esi, 0x9ef51d5c
je 0x47b1a5
mov eax, 0
mov dword [eax], ebx
mov edi, 0xff25aadb
or edx, edi
sub ebx, 0xeab8726d
add ebx, edi
mov ebx, edi
and ecx, ecx
sub ecx, 0xdfbce215
add ecx, 0xc228a196
mov edi, section.UPX1
not ecx
inc ebx
and ebx, ecx
mov eax, 0x47ada1
dec ebx
mov ebx, 0x1ea90e6c
mov ebx, ecx
mov esi, 0
or ecx, ebx
mov ebx, 0x2fc81a18
mov edx, 0x47ada2
sub ecx, ebx
add ebx, 0xb9e003d0
add ecx, ebx
lea edx, [esi + edx]
and ebx, ebx
sub ecx, ebx
mov edx, dword [edx]
add ecx, 0xac9c5e90
add ebx, ecx
sub ecx, ebx
and edx, 0xff
add ecx, ebx
and ebx, ecx
sub ecx, 0x5452cf93
inc esi
dec ebx
sub ecx, ebx
cmp esi, 0x1f4
jne 0x47b22a
mov esi, 0
or ebx, ecx
mov ecx, ebx
not ecx
add ecx, ecx
or ecx, ebx
sub ebx, 1
xor dword [edi], edx
add ecx, ecx
inc ecx
add edi, 2
add ebx, 1
and ebx, ecx
not ecx
cmp edi, eax
jl 0x47b1e7
and ebx, ebx
or ebx, ecx
mov ebx, ecx
sub ebx, 0xa98e0828
sub ecx, ebx
mov eax, section.UPX1
add edx, 0x173ea1e9
mov esi, edx
sub edx, 0x716bdccc
mov ebx, section.UPX1
dec edx
or esi, edx
mov edi, 0x47ada1
add esi, esi
sub edx, esi
mov ecx, 0
sub esi, edx
or edx, esi
mov cl, byte [ebx]
add edx, 0xf32fadb1
sub edx, 0x677efdeb
sub edx, 1
mov byte [eax], cl
or esi, esi
add edx, 0x7a082216
inc eax
sub esi, edx
or esi, edx
add ebx, 2
sub esi, 0x7c1df088
sub esi, edx
add esi, 0xfaeb19a5
cmp ebx, edi
jle 0x47b292
or esi, edx
or edx, esi
or ecx, ebx
mov ecx, 0x48f64690
push 0x45e6a0
dec ecx
sub ebx, 0xc7e42931
ret