Function at 0x1004f170
Capabilities:
Encode data using xor

Disassembly:
stc
imul ebx, ecx, 0x23264f87
pop esi
leave
pushal
cmp al, 0xa7
fidiv word [eax - 0x36]
xchg dword [edx], ebp
das
mov word [ecx + 0x60], ds
pushal
and dword [ecx - 0x24], esi
sub ebp, dword [esi - 0x32]
adc eax, 0xa93ec76b
xchg ebp, eax
mov bh, 0x6f
xchg dword [ebx - 0x64], esi
movsd dword es:[edi], dword [esi]
aaa
rol bh, cl
jp 0x1004f184
mov cl, 0x3b
das
rcl bh, 1
aas
push 0xe4597d43
mov al, 0x3e
push esp
imul byte [ecx]
clc
mov byte [eax + edx + 0x60], 0x84
xor al, 2
shr dword [ebp - 0x42], 0xfc
sub dword [edi + 0x5b], esp
movsb byte es:[edi], byte [esi]
xor byte [edi], ch
mov byte [ecx - 0x55], dh
in eax, 0xeb
dec esp
test al, 0x2d
mov ecx, 0xdf87ccc1
js 0x1004f1b5
test al, 0xf9
jl 0x1004f210
pop esp
inc ebp
cmp eax, 0x5c836f8e
push 0x832a7e6d
push ebx
aam 0xd7
je 0x1004f254
xchg esp, edi
jmp 0x9d3f2e16
and al, 0x63
movsd dword es:[edi], dword [esi]
or byte [eax + 0xe], ah
test al, 0xbe
cmp byte [edx + 0x7e277c7c], bh
pop esp
jl 0x1004f298
daa
jle 0x1004f27b
or byte [ebx - 0x75], ah
add esi, edx
jp 0x1004f273
loope 0x1004f26a
inc edx
pop ecx
js 0x1004f278
or dword [edx - 0x3e47495a], eax
cmp byte [esi - 0x737dcef1], bh
dec esp
clc
dec esp
cmp al, 0xb8
xor esi, dword [edx]
ror dword [ecx - 0x28], cl
mov ebp, 0x62911695
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
retf
xchg ebp, eax
push ss
xchg ecx, eax
bound esp, qword [ebp + 0x69bdcba5]
mov ah, al
hlt
loopne 0x1004f242
push es
cli
sbb bh, byte [esi]
popal
ja 0x1004f21a
lds esi, [0x84a69a8b]
xor eax, 0x84a69a8b
insd dword es:[edi], dx
fld dword [ebx]
sqrtps xmm3, xmmword [ebp - 0x77e8850f]
push ecx
mov word [ecx], fs
cmpsd dword [esi], dword es:[edi]
test dword [edi + 0x6f], ebp
outsd dx, dword [esi]
mov al, 0xc1
dec edi
mov bh, ch
and al, byte [eax]
jle 0x1004f227
jecxz 0x1004f24c
xor bl, byte [esi]
cmc
mov eax, dword [0xb68213dd]
das
cld
mov ecx, dword cs:[ecx + 0x63]
in eax, dx
jno 0x1004f213
push ss
sbb dword [ecx + 0x6f], esi
cmpsd dword ds:[esi], dword es:[edi]
sub eax, 0xc4adfdd0
add al, 0xa2
test eax, 0xaa30efee
mov cs, word [edi + 0x4719403e]
add bl, byte [ecx]
adc eax, 0x40ce3e08
out dx, eax
xor byte [edx + 0x403e8f8e], ch
sbb dword [edi + 2], eax
sbb dword [0x40ce3e08], edx
push cs
and eax, 0xe5da48e5
insd dword es:[edi], dx
inc ebx
loop 0x1004f2bd
push ds
pop esi
pop esi
lds esi, [edx + ecx*4 + 0x53fa3702]
add dword [eax + 0x38], edx
push eax
cmp ch, dh
cmc
mov cl, 0x8c
mov ecx, 0x1a2ec2c9
jbe 0x1004f326
fist dword [eax - 0x7e]
and al, 0x3a
sbb dword [ebx + 0x3e], 0xc
mov al, byte [0x22d51ee]
pop ebp
inc esp
insd dword es:[edi], dx
sar dword [edi], 0xb1
cmp ch, byte [esi]
adc ebp, dword [ebx + ecx*4 - 0x79]
or edx, dword [0x9977241]
mov ecx, 0xfe28fc77
cmpsb byte [esi], byte es:[edi]
and eax, 0x7dbced98
dec ebp
outsb dx, byte [esi]
xor dword [eax], eax
pop ebx
jns 0x1004f36e
pop ebp
inc edi
sbb al, 0xe4
shr dword [esi + 0x6e], cl
mov edx, 0x5057c04c
adc bh, byte [esi]
mov dh, 0x45
mov dh, 0x45
pop ebp
jns 0x1004f2bf
dec ecx
jle 0x1004f30a
shl byte [ebp + 0x26], 0x61
or dword [ebp - 0x4a9c92a7], esp
dec eax
add al, 0x26
stosd dword es:[edi], eax
xchg dword [bx - 0x4b56], eax
lodsb al, byte [esi]
mov dword [0x950a42fb], eax
sar dword [esp + ebx*4 + 0x5ab5c500], 0x89
in al, 0x3d
je 0x1004f3aa
xchg ebp, eax
xchg esp, eax
mov bh, 0x75
cmp ebp, dword [esi - 0x65]
retf 0xfe2d
js 0x1004f3ac
retf
mov ebp, 0xb8cc618a
jle 0x1004f36c
popal
int3
jbe 0x1004f3cb
test al, 0x50
pop edi
sti
adc esp, edi
cli
int1
leave
xor ecx, esp
ret 0xdcf1
lodsd eax, dword [esi]
mov ebx, 0x3d491bb5
in eax, dx
sub esp, dword [edx - 0x1f]
or esi, edi
lea ebp, [edi]
jle 0x1004f400
pop eax
leave
ret
shl dword [0x4f01aa8a], 0x60
sub al, 0xd1
sub eax, 0xafe93e8e
adc byte [ebp - 0x16], ch
cmp al, 0x23
sbb esi, esp
sbb dword [edi], eax
insb byte es:[edi], dx
test ebp, edi
adc al, 0x2e
jae 0x1004f420
lodsb al, byte [esi]
jne 0x1004f3b5
xchg esp, eax
pop ds
in eax, dx
sub dword [eax + eax + 0x26], eax
pop eax
retf 0xc01b