Function at 0xb97f84
Capabilities:
Encode data using xor

Disassembly:
jmp 0xb97f8e
pushal
call 0xb97f94
pop ebp
sub ebp, 0x10
sub ebp, 0x797f84
jmp 0xb97faa
mov eax, 0x797f84
add eax, ebp
add eax, 0x4c
mov ecx, 0x611
mov edx, 0xfb944565
xor byte [eax], dl
inc eax
dec ecx
jne 0xb97fc1
jmp 0xb97fd4
out dx, al
test al, 0xee
in al, dx
pop ecx
in al, 0xa4
popfd
test al, 0xdd
popal
fisttp word gs:[ebp + 0x65]
xchg edx, eax
xchg dword [esi - 0x53], esp
out dx, al
in al, 0x69
mov al, byte gs:[0x994101e8]
in al, dx
popal
inc ecx
xor eax, 0x6bc8790d
or eax, 0x650fb703
dec ecx
inc ecx
or eax, 0xeb3253b5
lea esp, [eax + 0x65]
mov word gs:[ecx + 0x65], ss
call 0xed52c124
dec ecx
inc ecx
out dx, al
mov esi, ebp
loopne 0xb98097
out dx, al
invalid
push esi
lodsb al, byte [esi]
in al, 0x97
shr dword [ecx], 1
fstp dword [ecx - 0x1c]
xchg edi, eax
shr dword [ecx], 1
fstp dword [ecx + 0x56]
mov bh, 0xe6
lea esp, [eax + 0x2d]
push 0xffffffffffffffe1
sub esp, dword [ebp + 0x65]
push 0xffffffffffffffed
sub eax, 0x3656565
out dx, al
jns 0xb98117
in eax, 0x9e
lea ebp, [edx - 0x1f]
jg 0xb98127
in eax, 0x9e
mov word [edx - 0x1f], gs
je 0xb98130
add esp, esp
sahf
lcall 0x6565, 0x70e16a40
and al, 0x8c
test eax, 0x4c9a9a9a
sub dword [esp - 0x1a], ebx
movsb byte es:[edi], byte [esi]
pushal
out 0x8d, al
popal
mov eax, ds
lcall 0x675c, 0x314c9a9a
out 0xa4, al
lcall 0xe667, 0x5c314c9a
movsb byte es:[edi], byte [esi]
arpl si, sp
invalid
lcall 0xee30, 0x6569a738
mov dword [ebx], esi
xor dh, byte [eax]
out dx, al
adc byte [ecx - 0x12], ch
sbb byte [ebp - 0x67], ch
xlatb
in eax, 0xef
arpl sp, sp
mov dword [0x65656564], eax
in eax, dx
in eax, dx
in eax, dx
invalid
mov bh, 0x6a
mov bh, 0x6a
mov bh, 0x6a
loopne 0xb9818c
out dx, eax
jae 0xb98155
ja 0xb980eb
push 0xffffffffffffffe6
mov ebp, 0x679a9a9a
mov bh, 0x6a
loopne 0xb9819f
out 0xbd, al
lcall 0xe06a, 0xb7679a9a
pushal
out dx, eax
jae 0xb98168
and esi, dword [edi - 0x49]
ja 0xb980fe
push 0xffffffffffffffe6
pcmpgtw mm4, qword [ebp + 0x65]
push esi
movsd dword es:[edi], dword [esi]
mov bh, 0x6a
loopne 0xb981b4
pushal
out dx, eax
out dx, eax
jae 0xb9817d
ja 0xb98113
push 0xffffffffffffffe6
dec edi
mov bh, 0x6a
loopne 0xb981c7
out dx, eax
out dx, eax
jae 0xb98190
ja 0xb98126
jbe 0xb98116
movsd dword es:[edi], dword [esi]
mov bh, 0x6a
loopne 0xb981d6
out dx, eax
jae 0xb9819f
ja 0xb98135
mov bh, 0x76
movsd dword es:[edi], dword [esi]
jbe 0xb98125
mov bh, 0x6a
loopne 0xb981e5
out dx, eax
jae 0xb981ae
ja 0xb98144
mov bh, 0x76
movsd dword es:[edi], dword [esi]
jbe 0xb98134
mov bh, 0x6a
mov bh, 0x6a
loopne 0xb981f4
out dx, eax
jae 0xb981bd
ja 0xb98153
jbe 0xb98143
push 0xffffffffffffffe1
arpl word [ebp + 0x65], sp
out dx, al
loope 0xb98204
out dx, al
mov edx, 0x66efbd4e
in eax, dx
bound esp, qword [edx]
fisub word [edi + 0x65]
mov word gs:[0xdd9a9a9a], ss
mov bh, 0x6a
mov word gs:[di], ss
lcall 0x6565, 0x64dd9a9a
mov bh, 0x6a
mov bh, 0x6a
loopne 0xb98221
out dx, eax
out dx, eax
jae 0xb981ea
ja 0xb98180
jbe 0xb98170
mov bh, 0x6a
loopne 0xb98230
out dx, eax
jae 0xb981f9
ja 0xb9818f
push 0xffffffffffffffe7
mov ebx, 0x4e9a9a9a
cmpsb byte [esi], byte es:[edi]
fisub word [ebp + 0x65]
push 0xffffffffffffffe0
push 0xffffffffffffffe0
push ecx
fsub qword gs:[ebp + 0x65]
fsub qword gs:[ebp + 0x65]
mov bh, 0x6a
mov bh, 0x6a
loopne 0xb98255
pushal
out dx, eax
jae 0xb9821e
ja 0xb981b4
jbe 0xb981ab
mov bh, 0x6a
mov bh, 0x6a
loopne 0xb98264
out dx, eax
jae 0xb9822d
ja 0xb981c3
push 0xffffffffffffffe7
mov ebx, 0x339a9a9a
out dx, al
xchg edx, eax
dec esi
nop
xchg esi, eax
sar dword [ebx], 0x8c
insd dword es:[edi], dx
lcall 0x6d85, 0xa42d9a9a
out dx, eax
lcall 0x63ef, 0x6d85a42d
and ebp, esi
test dword [ebp - 0x11], ebp
arpl word [ebx], sp
out dx, al
invalid
mov bh, 0x6a
loopne 0xb98292
out dx, eax
jae 0xb9825b
ja 0xb981f1
jbe 0xb981e8
mov bh, 0x6a
loopne 0xb982a1
out dx, eax
jae 0xb9826a
ja 0xb98200
push 0xffffffffffffffe7
mov ebx, 0xe49a9a9a
popfd
sbb byte gs:[ebp + 0x65], ah
in al, 0xbc
lcall 0x659d, 0xe49a9a9a
pushal
in al, 0x9d
pushal
in al, 0xbc
lcall 0xe59d, 0xe49a9a9a
lcall 0x65e5, 0x9de49a9a
in al, 0xb4
in al, 0xb4
in al, 0x9d
in eax, 0x65
in al, 0xb4
xor ebp, esi
xchg edx, eax
dec esi
xchg ebp, eax
xchg esi, eax
sar dword [ebx], 0x8c
invalid
lea esp, [edx + ebp*2 - 0x1f]
jg 0xb982fd
in al, 0xb4
in al, 0xb4
out dx, al
lea esi, [ebx]
out dx, al
xchg edx, eax
dec esi
xchg ebp, eax
xchg esi, eax
sar dword [ebx], 0xde
mov word gs:[esi], ss
wait
lcall 0xee6d, 0x184e389a
mov byte [0x80ee3b3a], al
cmp byte [edi + 0x59ee656d], ah
inc ecx
call 0xef1ac3cb
push ecx
inc ecx
call 0x8d1ac3d2
popal
jno 0xb98352
invalid
push ds
sbb eax, 0x89f0c663
cld
or dword [ebx - 4], ecx
retf
ja 0xb98386
je 0xb9829a
and dword [esp + edi*8], ebp
xor dword [ebx - 4], ecx
inc edi
inc ebx
ja 0xb98393
ja 0xb9837a
scasd eax, dword es:[edi]
invalid
mov ebx, 0x11888888
mov byte [ecx], dl
adc esp, edi
cld
jo 0xb9830d
mov dh, 0x9f
lahf
jnp 0xb9834e
xchg edi, eax
js 0xb98353
invalid
js 0xb98356
jp 0xb983dd
ja 0xb983df
adc esp, edi
jo 0xb98362
xchg edi, eax
mov byte [eax + 0x77], bh
ja 0xb983e6
mov ch, 0x76
outsd dx, dword [esi]
hlt
sahf
mov edi, 0x9e888888
jae 0xb983f9
ja 0xb983fb
fisubr dword [esi + 0x39]
inc ebx
iretd
cmp dword [ebx - 0x31], eax
or byte [esi], cl
ja 0xb98402
mov dl, 0xf6
mov bh, 0x5d
jae 0xb9840b
ja 0xb9840c
ja 0xb98364
into
inc esp
jne 0xb98410
ja 0xb98368
je 0xb983de
and eax, 0x376747e6
js 0xb98397
or dword [eax + 0x739e8888], 0x12777777
dec esp
inc eax
cld
dec dword [edx]
dec eax
dec eax
inc ebx
hlt
push eax
mov esp, ecx
mov al, byte [0xf5741ea4]
invalid
je 0xb98454
je 0xb98455
je 0xb98456
je 0xb9845e
jnp 0xb983d5
int1
js 0xb9845a
je 0xb9845c
push dword [ebx]
js 0xb98463
mov dl, 0x24
mov esp, ecx
xchg esp, eax
movsb byte es:[edi], byte [esi]
push ds
je 0xb983ec
or edi, dword [eax + 0x74]
js 0xb9846c
jnp 0xb983ea
je 0xb98471
je 0xb98471
je 0xb98471
je 0xb983f6
test dword [ebx], 0xf17b7474
or esi, dword [esp + esi*2 + 0x7b]
jnp 0xb983f5
int1
jle 0xb9847a
je 0xb9847c
test dword [ebx], 0xf07b7464
je 0xb98488
jnp 0xb983fe
invalid
adc eax, 0x21747474
jmp dword [ecx + 0x77641bff]
je 0xb98486
and edi, edi
mov eax, dword [0x77641bff]
lcall 0xf07b, 0x747409f7
jnp 0xb98410
cmp esi, dword [esp + esi*2 + 0x74]
popfd
call [0xf99df374]
adc byte [eax - 0x78], dl
std
jo 0xb98482
jg 0xb983f2
mov ebp, 0x7478fd7b
jnp 0xb98434
js 0xb984ad
je 0xb984af
stc
adc byte [eax - 0x78], dl
std
js 0xb98492
popfd
jge 0xb984b9
je 0xb984bb
ja 0xb98403
cmc
mov ch, 0x76
je 0xb984c2
je 0xb98475
stc
adc byte [eax - 0x78], dl
std
jo 0xb984a7
push eax
mov esp, esi
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
push ds
je 0xb9845d
jmp dword [eax + 0x50]
pushal
push eax
stc
adc byte [eax + 0x70], dl
std
push eax
jo 0xb98462
xor dword [esp + ebp - 0xb], esi
mov cl, 0x70
je 0xb984e1
je 0xb984e2
je 0xb9840c
popfd
ror dword [ebx + 0x58ff8b8b], cl
mov ecx, dword [ebx - 0x6afa701]
push eax
stc
adc byte [eax + 0x70], dl
cmc
mov bl, 0x60
pushal
je 0xb984f3
je 0xb9841e
dec ebp
mov ecx, dword [ebx - 0x74efdf75]
adc byte [ebx + 0x74747441], cl
je 0xb984aa
inc ecx
je 0xb984ff
je 0xb98501
sbb al, 0x96
xchg esi, eax
int1
or eax, 0x10f92174
push eax
mov ch, bh
and ecx, edi
adc byte [eax - 0x78], dl
std
inc eax
push eax
push dword [edx]
dec eax
push eax
inc esp
pop esp
je 0xb98517
je 0xb9851c
mov dl, 0x8b
xchg esp, eax
and byte [ecx + edx], bl
push esp
xor dword [edx], ebx
adc dword [ecx + esi + 0x1a], edx
sbb bl, byte [0x54151913]
sbb eax, 0x54151913
adc ebx, dword [ecx]
adc eax, 0x1b062454
add byte [ecx], dl
pop ss
and al, 6
sbb eax, dword [eax]
adc dword [edi], edx
add byte [ebx], bl
push es
push esp
add dl, byte [ecx]
push es
pop es
sbb eax, 0x45541a1b
sbb ebx, dword [edx]
push esp
inc ebp
pop edx
inc edi
inc ebp
jns 0xb98549
xor byte [ecx], dl
add dl, byte [ecx]
sbb byte [ebx], bl
add al, 0x11
push es
dec esi
push esp
and bl, byte [eax]
adc eax, 0x1d191d10
push es
push esp
daa
add dword [edi], ebx
pop ds
sbb al, 0x1b
add bh, byte [ecx + 0x7e]
daa
sbb eax, 0x4e541100
push esp
sbb al, 0
add byte [edi + eax], al
dec esi
pop ebx
pop ebx
adc dword [edx], ebx
sbb eax, 0x4151913
push es
sbb eax, dword [eax]
adc dword [edi], edx
add byte [ecx], dl
pop ss
add byte [ebx], bl
push es
pop edx
pop ss
sbb ebx, dword [ecx]
pop ebx
jns 0xb9858a
xor dword [ecx + 0x19], ebx
adc eax, 0x4e54181d
push esp
pop es
add dword [esp + eax], eax
add al, 4
sbb eax, dword [esi]
add byte [ecx + edx], dh
xor al, 0x11
sbb bl, byte [0x4151913]
push es
sbb eax, dword [eax]
adc dword [edi], edx
add byte [ebx], bl
push es
pop edx
pop ss
sbb ebx, dword [ecx]
jns 0xb985b0
and dword [edx], ebx
push es
adc dword [ebx], edx
sbb eax, 0x6110007
adc dword [eax], edx
push esp
pop es
sbb eax, 0x151a13
add dword [esi], eax
adc dword [ecx + 0x7e], edi
and byte [ebx + 0x6045407], bl
jle 0xb9856b
sbb al, 0x1d
pop es
push esp
add al, 6
sbb edx, dword [ebx]
push es
adc eax, 0x6045419
sbb eax, dword [eax]
adc dword [edi], edx
add byte [ecx], dl
adc byte [ebx + eax + 0x1d], dl
add byte [esp + edx*2], bl
and dword [edx], edi
xor dword es:[ebx], esi
cmp eax, 0x31262027
xor byte [edx + 0x31], dl
daa
cmp eax, 0x1b543a3b
adc dl, byte [eax + 0x1c]
adc dword [ecx + esi + 0x1a], edx
sbb eax, 0x54151913
and al, 6
sbb eax, dword [eax]
adc dword [edi], edx
add byte [ebx], bl
push es
jns 0xb98611
cmp eax, 0x15175400
sbb dl, byte [ebx]
push esp
push ss
adc dword [eax + edx + 0x1d], edx
pop es
add byte [esi], al
sbb eax, 0x11000116
adc byte [ebx + ebx + 6], dl
push esp
add dword [edi], eax
adc dword [eax], edx
push esp
sbb eax, 0x1b17541a
sbb dword [ecx], ebx
adc dword [esi], eax
pop ss
sbb eax, 0x4541815
add dword [esi], eax
add al, 0x1b
pop es
adc dword [ecx + 0x7e], edi
and dword [edx], edi
xor dword es:[ebx], esi
cmp eax, 0x26312027
xor dword [eax], esi
push esp
and al, 0x26
cmp esp, dword [eax]
xor dword [edi], esi
and byte [0x3743a3b], bh
add byte [eax], al
add byte [ecx], ch
push cs
add byte [eax], al
nop
test byte [eax], 0
invalid
invalid