Function at 0x4f316b
Capabilities:
Encode data using xor

Disassembly:
cmp byte [eax + 0x3e], cl
test ch, al
add eax, 0x5622f782
add dword [ecx], eax
pop edi
push ecx
add cl, 0x50
jb 0x4f3180
add esp, ebp
add eax, 0x4b3d423d
in al, dx
or byte [edx + edi + 0x3d], al
inc ecx
inc ebp
push ecx
pop ecx
mov ss, word [esi + 0xe9c5]
mov dl, byte [esi + 0xf41d]
mov word [esi + 0xfbe5], es
sbb eax, 0x8c0000f4
xchg ch, ah
sti
add byte [eax], al
mov word [ecx + 0x31], cs
mov cl, byte [esi + 0xf421]
xor al, 0xd3
mov dl, byte [bp - 0x12b]
add byte [eax], al
xor al, 0xc1
mov al, byte [bp - 0x5f]
push ecx
push edi
test ch, al
add eax, 0x484007ec
cmp dh, byte [edi]
xor eax, dword [edi - 0x7e]
loope 0x4f3197
xchg edx, eax
add dword [ecx], eax
add cl, 0x7b
push ds
add dword [ecx], eax
add cl, 0xdf
add word [ecx], ax
pop ecx
push ecx
push edi
test ch, al
add eax, 0x3401f182
add dword [ecx], eax
add cl, 0x34
inc eax
add dword [ecx], eax
pop ecx
mov word [esi + 0xf421], cs
mov word [bp + si], ss
mov dl, byte [bp - 0xf19]
add byte [eax], al
mov word [esi + 0xf421], es
test cl, al
add ecx, dword [edx + 0xf42186]
add byte [edi - 0x74], ah
mov fs, edi
lock add byte [eax], al
mov cl, byte [bp - 0x12b]
add byte [eax], al
mov word [esi + 0xf41d], ss
mov word [bp + di], es
mov al, byte [bp - 0xf1b]
add byte [eax], al
mov word [esi + 0xf41d], cs
test dl, al
add ecx, dword [edx + 0xf41d8e]
add byte [edi - 0x74], ah
xchg esi, eax
in eax, 0xf0
add byte [eax], al
mov dl, byte [bp - 0x5f]
push edx
and dl, 0x44
jge 0x4f3249
add dword [edx + 0x143c3c2], eax
add dword [edx + 0x54], ebx
add dl, 0xc3
inc ebx
add dword [ecx], eax
pop edx
push esp
push esp
test ch, al
add eax, 0x414b04ec
dec ecx
in al, dx
add al, 0x38
inc esi
add ah, 0x90
rol byte [ecx], cl
add dword [edx + 0x2189ee4], eax
add dword [edi + edx*2 - 0x7e], ebx
out dx, eax
aam 0x32
add al, byte [ecx]
pop edi
adc byte [eax - 0x3e795eba], bh
jbe 0x4f3292
adc byte [eax + 0xfed58e], bh
add byte [eax], dl
mov eax, 0xcb2ca156
mov cl, byte [esi + 0xefe1]
in al, dx
pop ebx
adc byte [eax + 0xfed586], bh
mov eax, 0xfed586
add byte [eax], dl
mov eax, 0xc23ca14e
adc byte [ebp + 0x16], al
adc byte [eax + 0xfed596], bh
add byte [ebx + esi*8 + 0x46b81021], al
mov eax, dword [0x8510d13c]
add bh, bh
add byte [eax], al
adc byte [eax + 0xfed58e], bh
add byte [eax], dl
mov eax, 0xcb3ca156
jle 0x4f32d6
enter 0xffffffffffffe586, 0xffffffffffffffef
add byte [eax], al
add byte [eax], al
add byte [eax], al
in al, dx
or ecx, eax
xchg ch, ah
out dx, eax
add byte [eax], al
add al, byte [ecx]
add dword [ecx], eax
mov word [esi + 0xefe5], es
mov al, byte [esi + 0xefe1]
test byte [esi + 0xefe1], bh
add dword [esi + 0x41], esi
push ecx
push edi
test ch, al
add eax, 0x38cec982
add dword [ecx], eax
pop ecx
push ecx
and cl, 0x50
test byte [ecx], al
add ecx, ebp
or eax, dword [ecx]
add dword [ecx], eax
add dword [esi], edi
cmp bh, byte [ecx]
xor ecx, dword [ebx + 0x4e]
dec esp
dec esi
aas
test ch, al
add eax, 0xf3eee182
add dword [ecx], eax
add cl, 0x81
insd dword es:[edi], dx
add dword [ecx], eax
pop ecx
mov word [esi + 0xfbe5], cs
mov cl, byte [esi + 0xf97d]
in al, dx
imul edx, dword [edx - 0x7e], 0x1de23c2
add dword [edx + 0x1a05eea], eax
add dword [edx + 0x51], ebx
and cl, 0x47
inc edi
add al, byte [ecx]
xor cl, 0x36
add dword [edx], 0xee98201
hlt