diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.cod b/BCB/Cheang et al/Figure 3b/Figure_3b.cod
new file mode 100644
index 0000000000000000000000000000000000000000..56e3d6fc9d9a72fb5e72a41afa40c3f170cba8ea
--- /dev/null
+++ b/BCB/Cheang et al/Figure 3b/Figure_3b.cod	
@@ -0,0 +1,52 @@
+; Listing generated by Microsoft (R) Optimizing Compiler Version 19.32.31332.0 
+
+include listing.inc
+
+INCLUDELIB MSVCRT
+INCLUDELIB OLDNAMES
+
+PUBLIC	foo
+EXTRN	array1_size:QWORD
+EXTRN	array1:BYTE
+EXTRN	array2:BYTE
+; Function compile flags: /Ogtpy
+; File C:\Users\piano\Documents\PhD\hyperproperties\IsabelleScripts\Relative_Security_Spectre\Kevin Cheang\3b\Figure_3b.c
+;	COMDAT foo
+_TEXT	SEGMENT
+i$ = 8
+foo	PROC						; COMDAT
+
+; 5    :     if (i < array1_size) {
+
+  00000	8b c1		 mov	 eax, ecx
+  00002	48 3b 05 00 00
+	00 00		 cmp	 rax, QWORD PTR array1_size
+  00009	73 18		 jae	 SHORT $LN2@foo
+
+; 6    :         uint8_t v = array1[0];
+; 7    :         return array2[v*512]+i;
+
+  0000b	0f b6 15 00 00
+	00 00		 movzx	 edx, BYTE PTR array1
+  00012	48 8d 05 00 00
+	00 00		 lea	 rax, OFFSET FLAT:array2
+  00019	c1 e2 09	 shl	 edx, 9
+  0001c	02 0c 02	 add	 cl, BYTE PTR [rdx+rax]
+  0001f	0f b6 c1	 movzx	 eax, cl
+
+; 10   : }
+
+  00022	c3		 ret	 0
+$LN2@foo:
+
+; 8    :     }
+; 9    :     return 0;
+
+  00023	32 c0		 xor	 al, al
+
+; 10   : }
+
+  00025	c3		 ret	 0
+foo	ENDP
+_TEXT	ENDS
+END
diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.dll b/BCB/Cheang et al/Figure 3b/Figure_3b.dll
new file mode 100644
index 0000000000000000000000000000000000000000..104015525759aa2eb1f482b20b5eb565c8c913e3
Binary files /dev/null and b/BCB/Cheang et al/Figure 3b/Figure_3b.dll differ