Function at 0x50b6e0
Capabilities:
Encode data using xor

Disassembly:
fdiv qword [edx - 0x46d92324]
or eax, 0xd8b3c631
or edx, edx
pushfd
fdiv st(6)
test dword [edx - 0x3852a115], esi
enter 0x75c4, 0x43
mov byte [ecx - 0x3c], dh
mov al, 0x84
or edx, esp
insd dword es:[edi], dx
mov cl, cl
movsd dword es:[edi], dword [esi]
lodsb al, byte [esi]
aam 0xd4
in al, 0xad
fdivr qword [eax + 0x6f]
outsd dx, dword [esi]
leave
rol byte [ebp - 0x1f49f854], 1
shr ch, cl
out 0xbb, al
lcall 0xa5c0, 0x9f068bc0
mov eax, dword [0x436d20c2]
xor al, 0xfc
pop ss
jno 0x4d9d8e
nop
push eax
sbb al, 0xbd
push edi
mov al, 0x85
and al, 0x4f
sar byte [esp + edi*8 + 0x360535e6], 0xe6
mov dword [ebp - 0x36], esp
inc esi
das
add byte [ebp + edx*4 + 0x27cc3bc0], 0xa9
jl 0x4d9d2c
les edx, [ecx + ebp*2]
and al, 0xfc
mov edx, ebp
pop eax
lodsb al, byte [esi]
adc dword [eax + 0x3f], ecx
aaa
in al, 0x31
sbb dword [esi], ebx
in eax, 0x73
retf 0x3b2
insb byte es:[edi], dx
or esp, esp
sub ah, 0xb9
retf 0xcae4
cmp byte [esp + 8], 1
jne 0x50b8c4
pushal
mov esi, section.UPX1
lea edi, [esi - 0xc7000]
push edi
or ebp, 0xffffffff
jmp 0x50b70a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x50b711
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x50b700
mov eax, 1
add ebx, ebx
jne 0x50b723
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x50b734
jne 0x50b753
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x50b753
dec eax
add ebx, ebx
jne 0x50b740
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x50b718
add ebx, ebx
jne 0x50b74f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x50b7a5
xor ecx, ecx
sub eax, 3
jb 0x50b76b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x50b7da
sar eax, 1
mov ebp, eax
jmp 0x50b776
add ebx, ebx
jne 0x50b776
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x50b744
inc ecx
add ebx, ebx
jne 0x50b784
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x50b744
add ebx, ebx
jne 0x50b791
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x50b786
jne 0x50b7a2
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x50b786
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x50b7c4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x50b7b6
jmp 0x50b706
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x50b7c4
add edi, ecx
jmp 0x50b706
pop esi
mov edi, esi
mov ecx, 0x4341
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x50b7e2
cmp byte [edi], 0x1e
jne 0x50b7e2
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 0x50b7e7
lea edi, [esi + 0xff000]
mov eax, dword [edi]
or eax, eax
je 0x50b856
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x10b514]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x10b59c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x50b814
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x10b5a0]
or eax, eax
je 0x50b850
mov dword [ebx], eax
add ebx, 4
jmp 0x50b831
popal
xor eax, eax
ret 0xc
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x50b887
cmp al, 0xef
ja 0x50b87a
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x50b85c
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x50b869
mov ebp, dword [esi + 0x10b5a4]
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 0x50b8bb
sub esp, 0xffffff80
jmp 0x4d9d00