Function at 0x98f5f0
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x98f5f6
pop ebp
sub ebp, 6
sub ebp, 0x58f5f0
jmp 0x98f654
jmp 0x98f65d
mov eax, 0x58f5f0
add eax, ebp
add eax, 0x93
mov ecx, 0x5ba
mov edx, 0x954f92b0
xor byte [eax], dl
inc eax
dec ecx
jne 0x98f674
jmp 0x98f687
cmp edi, dword [ebp + 0x3b]
jge 0x98f6c5
cmp dword [eax + esi*4 + 0x7131b0b0], ecx
dec eax
mov al, 0x31
jno 0x98f6da
mov al, 0xb0
mov al, 0xb3
jge 0x98f6a0
mov ah, 0xb0
mov al, 0xb0
or bl, byte [eax + 0x47b0b0b0]
mov al, 0x47
push edx
mov bl, 0x78
cmp esi, dword [ecx]
mov esp, 0xb3b0b0b0
jne 0x98f68e
loopne 0x98f688
movsb byte es:[edi], byte [esi]
cmp byte [ebp + 0x756ad8b0], 0xfb
mov al, 0xb1
pushfd
xchg esp, eax
fcom dword [eax]
cmp eax, dword [ecx - 0x4f4aa7f9]
mov al, 0xb0
pop ecx
mov al, 0x59
cwde
mov al, 0xb0
mov al, 0xe5
cmp ebx, dword [ebx + edi + 0x35]
mov eax, 0x3bb0b0b0
and eax, 0xb0b0b0bc
cmp edi, dword [0xb0b0b0a0]
jno 0x98f73b
mov dl, 0x81
mov dl, 0x33
jb 0x98f69c
stc
mov edi, 0x4f4f4435
dec edi
in eax, dx
jb 0x98f6ae
mov al, 0x3b
cmp al, 0x94
mov ah, 0xb0
mov al, 0xb0
fsub dword [eax + eax*4 + 0x6ad8b0bd]
jne 0x98f6fe
mov al, 0xd8
push 0x75
sti
mov al, 0xb1
pushfd
xchg esp, eax
loope 0x98f761
mov ch, 0xb0
mov al, 0xb0
pop ecx
int1
mov dl, 0xb0
mov al, 0xe5
cmp eax, 0x4fb094dc
lds edi, [edi + ecx*2 - 0x3da7473b]
mov al, 0xb0
mov al, 0x3b
or eax, 0xb0b0b0b8
cmp dword [ecx + 0x31], 0x42
add edx, dword [ebx + 0x37]
sal dword [ecx], 0x42
add edx, dword [ebx + 0x37]
rol dword [ebx - 0x4aa7cc9e], 0xf8
clc
mov edi, 0xb0b0fe34
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 edi, 0xb0b0aa34
mov al, 0x30
dec ebx
pop ecx
mov edi, 0xb0b0a134
xor al, 0xa1
mov al, 0xb0
mov al, 0xd6
xor dword [ebx + 0x4f], ecx
dec edi
xchg ebp, eax
mov edi, 0xb0b0a534
mov al, 0xf1
pop ecx
jl 0x98f7bc
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 0x98f73b
xor ebx, dword [edx - 0x4c]
xor ebx, dword [eax - 0x4b]
pop ecx
sbb ecx, dword [edi + 0x4f]
dec edi
in eax, dx
jb 0x98f74f
mov al, 0xe5
cmp ebx, dword [esi - 0x19]
in eax, 0x3b
lds edi, [ebx + edi + 0x24cb8cd]
xor byte [edx], bh
mov dh, 0x31
jbe 0x98f759
mov al, 0xb0
mov al, 0x38
mov bh, 0x31
ja 0x98f761
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
mov ch, 0xb0
mov al, 0xb0
cmp ah, byte [esi - 0x409d5d0a]
xor ebp, dword [eax + 0x4f]
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 0x98f793
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 0x98f87d
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 0x98f903
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