Function at 0xde5170
Capabilities:
Encode data using xor

Disassembly:
jmp 0xde517a
pushal
call 0xde5180
pop ebp
sub ebp, 0x10
sub ebp, 0x9e5170
jmp 0xde5196
mov eax, 0x9e5170
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c6
mov edx, 0xa4208bb0
xor byte [eax], dl
inc eax
dec ecx
jne 0xde51ad
jmp 0xde51c0
cmp edi, dword [ebp + 0x3b]
cmp dword [eax + esi*4 + 0x7131b0b0], ecx
dec eax
mov al, 0x31
jno 0xde5213
mov al, 0xb0
mov al, 0xb3
jge 0xde51d9
mov eax, 0xab0b0b0
cwde
mov al, 0xb0
mov al, 0x47
push edx
mov bl, 0x78
cmp esi, dword [ecx]
mov esp, 0xb3b0b0b0
jne 0xde51c7
cmp eax, 0x394c94d4
mov ah, 0x94
xchg esp, eax
fcom st(4)
imul ebp, dword [edi - 0x39452750], 0xffffffce
mov al, 0xb1
pushfd
xchg esp, eax
fcom dword [eax]
hlt
cmp esp, dword [0xb0b0b0bc]
cmp edi, dword [0xb0b0b0a0]
jno 0xde527a
mov dl, 0x81
mov dl, 0x33
jb 0xde51db
stc
mov edi, 0x4f4f4435
dec edi
in eax, dx
jb 0xde51ed
mov al, 0x3b
cmp al, 0x94
mov ah, 0xb0
mov al, 0xb0
fcom st(4)
imul ebp, dword [edi - 0x39452750], 0xffffffce
mov al, 0xb1
pushfd
xchg esp, eax
loope 0xde52a0
mov ch, 0xb0
mov al, 0xb0
pop ecx
cmc
mov dl, 0xb0
mov al, 0xe5
in al, 0xed
dec edi
lds edi, [edi + ecx*2 - 0x37a7473b]
mov al, 0xb0
mov al, 0x3b
or eax, 0xb0b0b0b8
xor dword [ecx - 0x1a], eax
invalid
clc
mov edi, 0xb0b0fe34
xor al, 0xfe
mov al, 0xb0
mov al, 0xbf
cmp al, bh
mov al, 0xb0
mov al, 0xd6
cmp ebp, dword [ecx + ecx*4 - 0x40a7b4d0]
xor al, 0xaa
mov al, 0xb0
mov al, 0x30
dec ebx
pop ecx
xor byte [ebx + 0x59], cl
mov edi, 0xb0b0a134
mov al, 0xd6
xor dword [ebx + 0x4f], ecx
xchg ebp, eax
mov edi, 0xb0b0a534
mov al, 0xf1
mov al, 0xb0
int1
pop ecx
jl 0xde52f9
dec edi
dec edi
cdq
cld
mov dword [ecx + 0x33b57133], esi
pop eax
mov ah, 0x59
or eax, 0x994f4f4f
in al, 0x89
mov dl, 0x33
jno 0xde5278
xor ebx, dword [edx - 0x4c]
xor ebx, dword [eax - 0x4b]
pop ecx
sbb ecx, dword [edi + 0x4f]
dec edi
cmp ebx, dword [esp + edx*4 - 0x4b6b2bc3]
jb 0xde5292
mov al, 0xe5
cmp ebx, dword [esi - 0x19]
in eax, 0x3b
lds edi, [ebx + edi + 0x24cb8cd]
xor byte [edx], bh
mov dh, 0x31
jbe 0xde529c
mov al, 0xb0
mov al, 0x38
mov bh, 0x31
ja 0xde52a4
mov al, 0xb0
mov al, 0xb
mov dl, 0xb0
mov al, 0xb0
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6833bf62]
dec edi
dec edi
dec edi
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x25cc409e]
mov al, 0xb0
mov al, 0x83
jo 0xde52d6
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x65cc409e]
mov cl, 0xb0
mov al, 0xb2
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x408f5c9e]
xor al, 0xb6
mov al, 0xb0
mov al, 0x3b
outsd dx, dword [esi]
wait
push 0xb738b33a
test dword [ebx], 0xb0b0b0b2
pop ecx
ror byte [edi + 0x4f], 0x4f
or byte [ecx - 0x4d4f4f50], dh
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
wait
jae 0xde53c0
mov cl, 0xb0
mov al, 0xb0
mov edi, 0xb0b08435
mov al, 9
mov cl, 0xb0
mov al, 0xb0
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d865c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
out 0x3b, al
inc edi
wait
inc ebp
inc ebx
adc al, 0xee
pop ecx
mov eax, 0xf84f4f4f
jno 0xde5446
mov eax, 0x3bf6b63a
pop eax
or dword [ecx - 0x4d4f4f50], esi
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d865c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
xor dword [eax - 0x50], ecx
int 0xb0
mov al, 0x31
imul ecx, dword [edi + 0x4f], 0x48314f4f
mov al, 0xb5
mov al, 0xb0
xor dword [ecx + 0x4f], ebp
dec edi
dec edi
dec edi
xor dword [eax + 0x30], ecx
mov al, 0xb0
mov al, 0x31
popal
mov al, 0xb0
mov al, 0xb0
xor dword [eax + 0x30], ecx
mov al, 0xb0
mov al, 0x31
popal
mov al, 0x31
dec eax
xor byte [eax + 0x6131b0b0], dh
mov al, 0xb0
mov al, 0xb0
out 0x3b, al
inc edi
wait
inc eax
inc ebx
adc al, 0xee
pop ecx
sub ecx, dword [esi + 0x4f]
dec edi
cmp dh, byte [esi + 0x707983f6]
pop eax
mov cl, 0xbf
xor al, 0xaa
mov al, 0xb0
mov al, 0x31
popal
mov dl, 0xb0
mov al, 0xb0
cmp ebx, dword [eax - 0x1a]
cmp eax, dword [edi - 0x65]
inc eax
inc ebx
adc al, 0xee
or esi, dword [ecx + 0x59b0b0b0]
ret