Function at 0xf5a1b8
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf5a1c2
pushal
call 0xf5a1c8
pop ebp
sub ebp, 0x10
sub ebp, 0xb5a1b8
jmp 0xf5a1de
in eax, dx
mov eax, 0xe900b5a1
add al, 0
add byte [eax], al
sub edi, ebx
adc ch, dh
mov eax, 0xb5a1b8
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c9
mov edx, 0xe50df1f
xor byte [eax], dl
inc eax
dec ecx
jne 0xf5a1f5
jmp 0xf5a208
xchg esp, eax
rcl byte [esi + edx*4 + 0x1f1f1f23], cl
sahf
fsubrp st(7)
pop ds
pop ds
pop ds
sbb al, 0xd2
cmpsd dword [esi], dword es:[edi]
sbb dword [edi], ebx
pop ds
pop ds
movsd dword es:[edi], dword [esi]
aaa
pop ds
pop ds
pop ds
call 0x95ccbf24
sahf
adc ebx, dword [edi]
pop ds
pop ds
sbb al, 0xda
xchg edx, eax
jnp 0xf5a26c
jecxz 0xf5a1c9
sbb edi, dword [ebx]
xchg edx, eax
jnp 0xf5a273
jecxz 0xf5a1d0
sbb edi, dword [ebx]
ja 0xf5a221
xor bh, byte [0x6ca5771f]
movsd dword es:[edi], dword [esi]
insb byte es:[edi], dx
mov word [edi], ds
push ds
xor edi, dword [ebx]
ja 0xf5a29b
les esp, [eax + 0x1f1af7b4]
pop ds
pop ds
imul byte [edi]
pop ds
pop ds
pop ds
dec edx
xchg edx, eax
jae 0xf5a297
pop ds
xchg esp, eax
lcall 0x8a94, 0x1f1f1f17
adc ebx, dword [edi]
pop ds
pop ds
xchg esp, eax
xchg edx, eax
nop dword [edi]
pop ds
pop ds
pop ds
fdivrp st(6)
sbb eax, 0xdd9c1d2e
sbb edx, dword [esi + 0x10]
lcall 0x3394, 0xe0e0e0eb
cmp edx, dword [edx - 0x22e4c485]
sbb eax, 0x561bdd9c
pushfd
fstp qword [ebx]
push esi
adc byte [edx - 0x1f1f1f15], bl
xchg esp, eax
xor edi, dword [ebx]
xchg edx, eax
jnp 0xf5a2bf
sbb ebx, ebp
adc ebx, dword [edi]
xchg esp, eax
xchg ebx, eax
cmp ebx, dword [ebx]
pop ds
pop ds
pop ds
ja 0xf5a274
xor bh, byte [0x6ca5771f]
mov word [edi], ds
push ds
xor edi, dword [ebx]
dec esi
neg dword [edx]
pop ds
cmp ecx, dword [esi - 9]
sbb bl, byte [edi]
pop ds
pop ds
not byte [ebp + ebx + 0x1f]
pop ds
xchg edx, eax
jnp 0xf5a2e5
jecxz 0xf5a242
xor edi, dword [ebx]
xchg esp, eax
loopne 0xf5a31c
adc esp, eax
push 0x17
mul dword [edi + 0x1f]
pop ds
pop ds
xchg esp, eax
mov byte [0x1f1f1f17], al
pop ds
pop ds
sahf
out dx, al
xchg edx, eax
jp 0xf5a2f3
mov ecx, 0x7a92ee9e
sub eax, 0x2cd62cb9
int 0x9c
neg dword [edx]
push edi
adc byte [ebx + 0x1f1f1f51], bl
adc byte [edi + 0x1f1f1f57], dl
jns 0xf5a277
add esp, dword [esi]
lahf
in al, 0xf7
adc byte [ebx + 0x1f1f1f05], bl
not dword [eax]
wait
add eax, 0x9f1f1f1f
lahf
in al, 0xf6
adc byte [ebx + 0x1f1f1f0e], bl
push cs
pop ds
pop ds
pop ds
jns 0xf5a297
in al, 0xe0
cmp dl, byte [eax]
wait
or bl, byte [edi]
pop ds
pop ds
pop esi
not bl
loopne 0xf5a2e7
loopne 0xf5a33f
push ebx
push ds
pushfd
ficomp word [edx]
pushfd
neg dword [ebx]
mul byte [edx + 0x36e0e0e0]
dec ebx
sbb eax, 0x9c19de9c
ficomp word [ecx]
pushfd
cmc
sbb ebx, dword [edi + esi*8 - 0x1f4b09e6]
loopne 0xf5a309
xchg esp, eax
xor edi, dword [ebx]
xchg edx, eax
jnp 0xf5a36a
sbb ebx, ebp
adc ebx, dword [edi]
dec edx
xchg esp, eax
dec ecx
dec eax
dec edx
xchg esp, eax
push 0x13
xchg esp, eax
bound edx, qword [edi]
jecxz 0xf5a2ee
lahf
xchg ebp, eax
sbb dword [esi + 0x1f1f1ed9], ebx
pop ds
xchg edi, eax
sbb byte [esi + 0x1f1f1ed8], bl
pop ds
movsb byte es:[edi], byte [esi]
sbb eax, 0x1d1f1f1f
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0xc79c10cd
loopne 0xf5a349
loopne 0xf5a388
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
pushfd
jne 0xf5a39a
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x759c10cd
pop ds
pop ds
pop ds
sub al, 0xdf
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
pushfd
xor eax, 0x1d1f1f1e
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x10df0ccd
push ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fist word [eax]
wait
sbb dword [edi], ebx
pop ds
pop ds
xchg esp, eax
sal byte [edi + eax*8], 0x95
sbb al, 0x97
sbb byte [eax - 0x5c], bl
sbb eax, 0xf61f1f1f
outsd dx, dword [esi]
loopne 0xf5a3c6
loopne 0xf5a38f
push ds
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xf5a443
fsub qword [esi + ebx + 0x101f1f1f]
lcall 0x1ea6, 0x1f1f1f2b
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xf5a48c
xchg esp, eax
call 0xbce28e7d
inc ecx
not byte [edi]
loopne 0xf5a42e
loopne 0xf5a4a7
fdivp st(7)
pop ss
xchg ebp, eax
sbb dword [ecx - 0x6c], ebx
mul dword [esi + 0x1f1f1f1e]
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xf5a41e
out 0x1f, eax
bound ebx, qword [edi]
pop ds
sahf
invalid
out 0x1f, eax
sbb bl, byte [edi]
pop ds
sahf
invalid
pop ds
pop ds
sahf
into
pop ds
pop ds
pop ds
pop ds
dec ecx
xchg esp, eax
call 0xbce293ea
inc ecx
test byte [ecx + 0x1995e0e0], 0x59
sub al, 0xd6
fcompi st(7)
push ds
adc byte [ebx + 0x1f1f1f05], bl
sahf
into
sbb eax, 0x941f1f1f
test dword [ecx - 0x6c], 0xecef34e8
mov ebx, 0x1f1ea441
pop ds
pop ds
imul byte [ecx - 0x20]
loopne 0xf5a527
xor al, 0x62
pop ss
xchg esp, eax
fadd dword [eax + 0x41]
xchg esp, eax
cli
inc edx
fst qword [edi]
pop ds
xchg esp, eax
and edi, dword [ebx]
xchg edx, eax
jnp 0xf5a533
sbb eax, dword [ecx - 0xa]
sbb ebx, dword [edi]
pop ds
pop ds
cmp dword [ebx - 0x5d], eax
stc
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
mov esi, 0xda1c1faa
sahf
fild qword [esi + 0x1c]
pop ds
pop ds
cmpsb byte [esi], byte es:[edi]
mov ebx, 0xa51f1f1d
retf
pop ds
pop ds
or byte [ebx], ah
mov byte [0x40354c71], al
mov ch, 0xf7
inc eax
test dword [eax + 0x77], 0xcbcb6bfc
ja 0xf5a531
imul ecx, ebx, 0xffffffcb
retf