Function at 0x49b6b0
Capabilities:
Encode data using xor

Disassembly:
inc ecx
dec edi
invalid
ret
adc dword [eax], esp
jge 0x47311a
jne 0x473170
adc edi, esi
adc byte [ebx + 0x25], dl
popfd
jnp 0x47317d
cli
jl 0x805bd434
mov eax, dword [0xbd4b7121]
add al, 0xe0
inc eax
mov dword [0xff895240], eax
adc eax, 0xc84fba42
sbb edi, dword [eax - 0x41]
push ebp
and al, 0x95
or ebp, dword [ecx - 0x1a]
inc esp
sub byte [eax + ecx*2], dh
dec eax
das
movsb byte es:[edi], byte [esi]
jb 0x47317b
dec esp
pop esp
mov al, 0x45
mov cl, 0xca
test dword [eax + esi*2], edi
mov ah, 0x80
jge 0x473110
pop esp
lodsb al, byte [esi]
jb 0x4731bb
xchg esp, eax
sub dword [eax + ebp*4 + 0x74], edx
and dword [ebp - 0x5343a7f5], edx
inc eax
sbb bl, byte [esi]
imul ebp, dword [ebx], 0x15
and ecx, dword [edx - 0x50]
pop ss
adc eax, 0x17b04a23
dec edx
mov al, 0x17
jg 0x473165
dec dword [ebp + 0x4c5443f0]
xor eax, dword [ebx + esi + 0x32]
inc esp
dec esp
dec esp
add byte [esi - 0x29aad9c], cl
fnsave dword [edi + 0x722067a4]
cmp al, 0x1f
push ebp
outsb dx, byte [esi]
jb 0x4731af
and al, 0x7d
mov dh, 0x23
pop ds
push ebx
jne 0x47320c
arpl word [eax], bx
aaa
stc
mov ebp, ebx
sbb byte [edi + 0x44], al
fstp qword [eax]
inc esp
daa
inc esp
insb byte es:[edi], dx
inc ebp
js 0x4731cf
add al, 7
pop es
or ebx, dword [edi + 0x3bd0273b]
add ebx, ebp
or byte [edi], dl
dec eax
pop ds
sbb ch, byte [ebp*2 - 0x2088668d]
sub ebx, dword [ebp - 0x78]
js 0x4731da
mov bh, 0x69
insd dword es:[edi], dx
dec edx
fisttp qword [ebp - 0x3f]
out 0xd2, eax
shl edi, 0xd2
push edi
outsb dx, byte [esi]
mov ah, byte fs:[edx + 0x5c63b454]
add byte [ebp + 0x1f73197c], ah
mov byte [0x3fe53958], dl
xor eax, ebx
invalid
test dword [eax], 0x90c0311f
and dh, byte [eax + 0x61]
imul esi, dword [ebp + 0x14], 0xffffffcb
adc al, 9
wait
pushfd
mov esp, 0xa011ff96
pop eax
lahf
sub eax, 0xdee2008c
add eax, 0x3020c2b
add byte [edi + ebx - 0x7e], bh
ror byte [ebp + 0x67], 0x60
jl 0x4731c8
insb byte es:[edi], dx
push 0x40
invalid
pushal
mov esi, section.UPX1
lea edi, [esi - 0x65000]
mov dword [edi + 0x754b0], 0x432470cd
push edi
or ebp, 0xffffffff
jmp 0x49b6da
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x49b6e1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x49b6d0
mov eax, 1
add ebx, ebx
jne 0x49b6f3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x49b704
jne 0x49b723
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x49b723
dec eax
add ebx, ebx
jne 0x49b710
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x49b6e8
add ebx, ebx
jne 0x49b71f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x49b775
xor ecx, ecx
sub eax, 3
jb 0x49b73b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x49b7aa
sar eax, 1
mov ebp, eax
jmp 0x49b746
add ebx, ebx
jne 0x49b746
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x49b714
inc ecx
add ebx, ebx
jne 0x49b754
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x49b714
add ebx, ebx
jne 0x49b761
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x49b756
jne 0x49b772
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x49b756
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x49b794
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x49b786
jmp 0x49b6d6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x49b794
add edi, ecx
jmp 0x49b6d6
pop esi
mov edi, esi
mov ecx, 0x33a5
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x49b7b2
cmp byte [edi], 0x12
jne 0x49b7b2
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x49b7b7
lea edi, [esi + 0x98000]
mov eax, dword [edi]
or eax, eax
je 0x49b826
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x9d864]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x9d940]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x49b7e4
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x9d944]
or eax, eax
je 0x49b820
mov dword [ebx], eax
add ebx, 4
jmp 0x49b801
call dword [esi + 0x9d954]
mov ebp, dword [esi + 0x9d948]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x49b85a
sub esp, 0xffffff80
jmp 0x473120