<p>Iru Cai has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/c/coreboot/+/30188">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">helper functions: memcpy, memset, ...<br><br>Change-Id: Ifebe96f655c13d7c17ac09f520581d7df7e3cf7d<br>Signed-off-by: Iru Cai <mytbk920423@gmail.com><br>---<br>M src/northbridge/intel/haswell/Makefile.inc<br>M src/northbridge/intel/haswell/mrc.asm<br>A src/northbridge/intel/haswell/mrc_utils.c<br>3 files changed, 231 insertions(+), 303 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/88/30188/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/northbridge/intel/haswell/Makefile.inc b/src/northbridge/intel/haswell/Makefile.inc</span><br><span>index a450eb5..7f53f78 100644</span><br><span>--- a/src/northbridge/intel/haswell/Makefile.inc</span><br><span>+++ b/src/northbridge/intel/haswell/Makefile.inc</span><br><span>@@ -34,6 +34,8 @@</span><br><span> $(obj)/mrc.o: $(src)/northbridge/intel/haswell/mrc.asm</span><br><span>   nasm -f elf32 -o $@ $<</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+romstage-y += mrc_utils.c</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> postcar-y += ram_calc.c</span><br><span> </span><br><span> endif</span><br><span>diff --git a/src/northbridge/intel/haswell/mrc.asm b/src/northbridge/intel/haswell/mrc.asm</span><br><span>index cc4361b..feca76f 100644</span><br><span>--- a/src/northbridge/intel/haswell/mrc.asm</span><br><span>+++ b/src/northbridge/intel/haswell/mrc.asm</span><br><span>@@ -5,6 +5,12 @@</span><br><span> global mrc_entry</span><br><span> </span><br><span> extern mrc_printk</span><br><span style="color: hsl(120, 100%, 40%);">+extern mrc_setmem</span><br><span style="color: hsl(120, 100%, 40%);">+extern mrc_memcpy</span><br><span style="color: hsl(120, 100%, 40%);">+extern memcpy ; pass parameters by stack</span><br><span style="color: hsl(120, 100%, 40%);">+extern mrc_fillword</span><br><span style="color: hsl(120, 100%, 40%);">+extern mrc_zeromem</span><br><span style="color: hsl(120, 100%, 40%);">+extern mrc_highest_bit</span><br><span> </span><br><span> mrc_entry:</span><br><span> mov ecx, esp</span><br><span>@@ -1558,75 +1564,6 @@</span><br><span> pop ebp</span><br><span> ret</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffa115e:</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-push esi</span><br><span style="color: hsl(0, 100%, 40%);">-mov esi, ecx</span><br><span style="color: hsl(0, 100%, 40%);">-push ebx</span><br><span style="color: hsl(0, 100%, 40%);">-xor ebx, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-jmp short loc_fffa1170  ; jmp 0xfffa1170</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa1169:</span><br><span style="color: hsl(0, 100%, 40%);">-mov cl, byte [edx + ebx]</span><br><span style="color: hsl(0, 100%, 40%);">-mov byte [eax + ebx], cl</span><br><span style="color: hsl(0, 100%, 40%);">-inc ebx</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa1170:</span><br><span style="color: hsl(0, 100%, 40%);">-cmp ebx, esi</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffa1169  ; jne 0xfffa1169</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebx</span><br><span style="color: hsl(0, 100%, 40%);">-pop esi</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffa1178:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-mov ecx, dword [ebp + 0x10]</span><br><span style="color: hsl(0, 100%, 40%);">-mov edx, dword [ebp + 0xc]</span><br><span style="color: hsl(0, 100%, 40%);">-mov eax, dword [ebp + 8]</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-jmp near fcn_fffa115e  ; jmp 0xfffa115e</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffa118a:</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-test edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffa1197  ; jne 0xfffa1197</span><br><span style="color: hsl(0, 100%, 40%);">-jmp short loc_fffa119d  ; jmp 0xfffa119d</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa1193:</span><br><span style="color: hsl(0, 100%, 40%);">-mov byte [eax + edx], 0</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa1197:</span><br><span style="color: hsl(0, 100%, 40%);">-dec edx</span><br><span style="color: hsl(0, 100%, 40%);">-cmp edx, 0xffffffffffffffff</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffa1193  ; jne 0xfffa1193</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa119d:</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffa119f:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-test edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffa11ab  ; jne 0xfffa11ab</span><br><span style="color: hsl(0, 100%, 40%);">-jmp short loc_fffa11b1  ; jmp 0xfffa11b1</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa11a8:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-mov byte [eax + edx], cl</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa11ab:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-dec edx</span><br><span style="color: hsl(0, 100%, 40%);">-cmp edx, 0xffffffffffffffff</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffa11a8  ; jne 0xfffa11a8</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffa11b1:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> fcn_fffa11b3:</span><br><span> push ebp</span><br><span> mov ebp, esp</span><br><span>@@ -2477,7 +2414,7 @@</span><br><span> mov ecx, 0x100</span><br><span> lea eax, [edx + 0x40]</span><br><span> mov edx, dword [ebp - 0x2c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov edx, dword [ebp - 0x20]</span><br><span> add esp, 0x10</span><br><span> mov byte [edx + 0x14e], 0</span><br><span>@@ -3450,7 +3387,7 @@</span><br><span> mov dword [ebp - 0x1dc], eax</span><br><span> mov dword [ebp - 0x230], fcn_fffa04e7  ; mov dword [ebp - 0x230], 0xfffa04e7</span><br><span> lea eax, [ebp - 0x565]</span><br><span style="color: hsl(0, 100%, 40%);">-mov dword [ebp - 0x224], fcn_fffa1178  ; mov dword [ebp - 0x224], 0xfffa1178</span><br><span style="color: hsl(120, 100%, 40%);">+mov dword [ebp - 0x224], memcpy  ; mov dword [ebp - 0x224], 0xfffa1178</span><br><span> mov dword [ebp - 0x1d0], eax</span><br><span> mov dword [ebp - 0x21c], fcn_fffa04ee  ; mov dword [ebp - 0x21c], 0xfffa04ee</span><br><span> lea eax, [ebp - 0x585]</span><br><span>@@ -3826,18 +3763,18 @@</span><br><span> mov esi, eax</span><br><span> je short loc_fffa3d32  ; je 0xfffa3d32</span><br><span> mov edx, 0xc</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov eax, 0x28</span><br><span> call fcn_fffa2937  ; call 0xfffa2937</span><br><span> test eax, eax</span><br><span> mov edi, eax</span><br><span> je short loc_fffa3d32  ; je 0xfffa3d32</span><br><span> mov edx, 0x28</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov ecx, 0x28</span><br><span> mov edx, ref_fffcc8dc  ; mov edx, 0xfffcc8dc</span><br><span> mov eax, edi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov dword [esi + 8], edi</span><br><span> mov dword [esi], 0x80000010</span><br><span> mov dword [esi + 4], ref_fffcd534  ; mov dword [esi + 4], 0xfffcd534</span><br><span>@@ -4005,15 +3942,15 @@</span><br><span> lea edi, [eax + 8]</span><br><span> add eax, 0x18</span><br><span> rep movsd  ; rep movsd dword es:[edi], dword ptr [esi]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov eax, dword [ebp - 0x620]</span><br><span> mov edx, 8</span><br><span> add eax, 0x20</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov eax, dword [ebp - 0x620]</span><br><span> mov edx, 0x1e</span><br><span> add eax, 0x29</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov eax, dword [ebp - 0x620]</span><br><span> add esp, 0x10</span><br><span> mov byte [eax + 0x28], 0</span><br><span>@@ -4927,10 +4864,10 @@</span><br><span> loc_fffa4e1b:</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x5f6]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x5ef]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov eax, dword [0xff7d7538]</span><br><span> sub esp, 0xc</span><br><span> lea ecx, [ebp - 0x620]</span><br><span>@@ -4960,14 +4897,14 @@</span><br><span> loc_fffa4e85:</span><br><span> mov edx, 5</span><br><span> lea eax, [ebp - 0x5fb]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x5b4]</span><br><span> mov byte [ebp - 0x5f7], bl</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x5b4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov al, byte [ebp - 0x5f7]</span><br><span> sub esp, 0xc</span><br><span> mov byte [ebp - 0x5af], al</span><br><span>@@ -5011,14 +4948,14 @@</span><br><span> loc_fffa4f70:</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x5f6]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x5b4]</span><br><span> mov byte [ebp - 0x5f0], bl</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x5b4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov al, byte [ebp - 0x5f0]</span><br><span> sub esp, 0xc</span><br><span> mov byte [ebp - 0x5af], al</span><br><span>@@ -5056,7 +4993,7 @@</span><br><span> jne loc_fffa532b  ; jne 0xfffa532b</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x5ef]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> cmp bl, 1</span><br><span> mov byte [ebp - 0x5e9], bl</span><br><span> jne loc_fffa520e  ; jne 0xfffa520e</span><br><span>@@ -5100,7 +5037,7 @@</span><br><span> lea eax, [ebp - 0x5c4]</span><br><span> mov byte [ebp - 0x668], cl</span><br><span> movzx esi, word [ebp - 0x5ed]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> mov cl, byte [ebp - 0x668]</span><br><span> mov eax, esi</span><br><span> mov byte [ebp - 0x5b4], cl</span><br><span>@@ -5136,7 +5073,7 @@</span><br><span> mov word [ebp - 0x5b2], ax</span><br><span> lea edx, [ebp - 0x5b4]</span><br><span> lea eax, [ebp - 0x5c4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov dl, byte [ebp - 0x65a]</span><br><span> mov eax, 2</span><br><span> mov byte [ebp - 0x5bf], dl</span><br><span>@@ -5190,7 +5127,7 @@</span><br><span> lea eax, [ebp - 0x5e8]</span><br><span> mov dword [ebp - 0x5b8], esi</span><br><span> or byte [ebp - 0x5b5], 0x80</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov eax, dword [ebp - 0x5e8]</span><br><span> mov edx, dword [ebp - 0x5e4]</span><br><span> mov ecx, 0x150</span><br><span>@@ -5204,7 +5141,7 @@</span><br><span> mov dword [ebp - 0x5e4], edx</span><br><span> lea eax, [ebp - 0x5bc]</span><br><span> lea edx, [ebp - 0x5e8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov eax, 0xa</span><br><span> call fcn_fffc5e98  ; call 0xfffc5e98</span><br><span> mov edx, dword [ebp - 0x648]</span><br><span>@@ -5214,7 +5151,7 @@</span><br><span> lea edx, [ebp - 0x5e8]</span><br><span> mov ecx, 8</span><br><span> lea eax, [ebp - 0x5b4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov ecx, dword [ebp - 0x5b0]</span><br><span> cmp dword [ebp - 0x5b8], ecx</span><br><span> je short loc_fffa531e  ; je 0xfffa531e</span><br><span>@@ -5576,16 +5513,16 @@</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x5e]</span><br><span> mov dword [ebp - 0xd4], esi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> lea edx, [ebp - 0x3b]</span><br><span> mov ecx, 5</span><br><span> lea eax, [ebp - 0x36]</span><br><span> mov esi, 0xcf8</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> lea edx, [ebp - 0x4d]</span><br><span> mov ecx, 4</span><br><span> lea eax, [ebp - 0x49]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> lea edx, [ebx + 0x2974]</span><br><span> mov eax, 0x80000000</span><br><span> mov dword [ebp - 0xa4], edx</span><br><span>@@ -7811,7 +7748,7 @@</span><br><span> mov edi, dword [ebp - 0x24]</span><br><span> cmp dword [ebp - 0x28], edi</span><br><span> jne short loc_fffa761b  ; jne 0xfffa761b</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> mov edi, dword [ebp - 0x70]</span><br><span> sub eax, 9</span><br><span> or edi, 0x40</span><br><span>@@ -9358,31 +9295,31 @@</span><br><span> mov dword [ebp - 0x48], ref_fffcb78c  ; mov dword [ebp - 0x48], 0xfffcb78c</span><br><span> mov dword [ebp - 0x44], ref_fffcb7ec  ; mov dword [ebp - 0x44], 0xfffcb7ec</span><br><span> mov dword [ebp - 0xc4], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x38]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x30]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x28]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x20]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0xff</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x58]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x54]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp dword [edi + 0x1749], 2</span><br><span> jne short loc_fffa8917  ; jne 0xfffa8917</span><br><span> mov word [ebp - 0x5c], 8</span><br><span>@@ -10018,7 +9955,7 @@</span><br><span> pop ebp</span><br><span> mov ecx, 4</span><br><span> mov edx, ref_fffcb7f8  ; mov edx, 0xfffcb7f8</span><br><span style="color: hsl(0, 100%, 40%);">-jmp near fcn_fffa115e  ; jmp 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+jmp mrc_memcpy</span><br><span> </span><br><span> loc_fffa91ad:</span><br><span> pop ebp</span><br><span>@@ -10340,7 +10277,7 @@</span><br><span> mov byte [ebp - 0x1f5], 0</span><br><span> mov dword [ebp - 0x248], ebx</span><br><span> movzx edi, byte [esi + 0x176b]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov eax, dword [esi + 0x1005]</span><br><span> cmp eax, 0x40650</span><br><span> je short loc_fffa95ba  ; je 0xfffa95ba</span><br><span>@@ -11238,7 +11175,7 @@</span><br><span> mov word [ebp - 0x206], 0x1000</span><br><span> mov word [ebp - 0x204], 0x1000</span><br><span> mov word [ebp - 0x202], 0x1000</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov edi, dword [ebp - 0x250]</span><br><span> mov eax, 2</span><br><span> cmp dword [edi + 0x297c], 2</span><br><span>@@ -11551,7 +11488,7 @@</span><br><span> lea edx, [esi + eax + 0xa]</span><br><span> lea eax, [ecx + eax + 8]</span><br><span> mov ecx, 0x2a</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> cmp edi, 4</span><br><span> jne short loc_fffaa747  ; jne 0xfffaa747</span><br><span> xor di, di</span><br><span>@@ -11574,13 +11511,13 @@</span><br><span> mov ecx, 0xfb</span><br><span> lea eax, [edx + eax + 0x1151]</span><br><span> mov edx, dword [ebp - 0x3c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> imul eax, edi, 0x1f</span><br><span> mov ecx, 0x1f</span><br><span> lea edx, [esi + eax + 0x2a8]</span><br><span> mov eax, dword [ebp - 0x34]</span><br><span> add eax, 0x81</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> </span><br><span> loc_fffaa7ca:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -11771,7 +11708,7 @@</span><br><span> mov dword [ebp - 0x48], 0</span><br><span> mov byte [ebp - 0x56], 0</span><br><span> mov byte [ebp - 0x55], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp byte [ebx + 0x1740], 1</span><br><span> je short loc_fffaaa2c  ; je 0xfffaaa2c</span><br><span> cmp byte [ebx + 0x16b8], 1</span><br><span>@@ -12109,7 +12046,7 @@</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x2c</span><br><span> lea eax, [ebp - 0x44]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp byte [ebx + 0x1740], 1</span><br><span> jne short loc_fffaae92  ; jne 0xfffaae92</span><br><span> cmp dword [ebx + 0x297c], 2</span><br><span>@@ -12311,7 +12248,7 @@</span><br><span> imul eax, dword [ebp - 0x74]</span><br><span> mov dword [ebp - 0x90], edx</span><br><span> dec eax</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> mov edx, dword [ebp - 0x90]</span><br><span> mov ecx, dword [ebx + 0x103f]</span><br><span> add ecx, edx</span><br><span>@@ -12517,28 +12454,28 @@</span><br><span> mov ecx, 0x2a</span><br><span> lea edx, [esi + eax + 8]</span><br><span> lea eax, [edi + eax + 0xa]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> inc dword [ebp - 0x20]</span><br><span> cmp dword [ebp - 0x20], 4</span><br><span> jne short loc_fffab320  ; jne 0xfffab320</span><br><span> lea edx, [esi + 0x1151]</span><br><span> mov ecx, 0xfb</span><br><span> lea eax, [edi + 0xb2]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov edx, dword [ebp - 0x24]</span><br><span> mov ecx, 0x1f</span><br><span> add edx, 0xa1</span><br><span> lea eax, [edi + 0x2a8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> lea edx, [esi + 0x124c]</span><br><span> mov ecx, 0xfb</span><br><span> lea eax, [edi + 0x1ad]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov edx, dword [ebp - 0x24]</span><br><span> lea eax, [edi + 0x2c7]</span><br><span> add edx, 0x1f0</span><br><span> mov ecx, 0x1f</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> inc dword [ebp - 0x1c]</span><br><span> cmp dword [ebp - 0x1c], 2</span><br><span> jne loc_fffab2cd  ; jne 0xfffab2cd</span><br><span>@@ -12625,7 +12562,7 @@</span><br><span> lea eax, [ebp - 0x218]</span><br><span> push ebx</span><br><span> lea esp, [esp - 0x39c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ebx, dword [ebp + 8]</span><br><span> add ebx, 0x16be</span><br><span> mov dword [ebp - 0x380], ebx</span><br><span>@@ -12648,14 +12585,14 @@</span><br><span> rep movsd  ; rep movsd dword es:[edi], dword ptr [esi]</span><br><span> lea eax, [ebp - 0x2a8]</span><br><span> lea ebx, [ebp - 0x2a8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0xc</span><br><span> lea eax, [ebp - 0x2c8]</span><br><span> mov byte [ebp - 0x2a7], 1</span><br><span> lea esi, [ebp - 0x298]</span><br><span> mov edi, 1</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> jmp short loc_fffab5b9  ; jmp 0xfffab5b9</span><br><span> </span><br><span> loc_fffab57e:  ; not directly referenced</span><br><span>@@ -12736,7 +12673,7 @@</span><br><span> imul eax, edi, 0x2fa</span><br><span> mov esi, dword [ebp - 0x344]</span><br><span> lea eax, [esi + eax + 0x2b3]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> lea eax, [ebx - 0x3010]</span><br><span> mov dword [ebp - 0x33c], eax</span><br><span> xor eax, eax</span><br><span>@@ -12975,11 +12912,11 @@</span><br><span> lea eax, [ebp - 0x2a8]</span><br><span> mov bl, byte [ebx + 0x176a]</span><br><span> mov byte [ebp - 0x37c], bl</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x48</span><br><span> lea eax, [ebp - 0x260]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ebx, dword [ebp + 8]</span><br><span> mov eax, 0x3074</span><br><span> add ebx, 0x2974</span><br><span>@@ -13188,17 +13125,17 @@</span><br><span> mov edx, 0x10</span><br><span> lea ebx, [ebp - 0x2e8]</span><br><span> mov eax, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x10</span><br><span> lea eax, [ebp - 0x308]</span><br><span> lea esi, [ebp - 0x330]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x10</span><br><span> lea eax, [ebp - 0x2c8]</span><br><span> lea edi, [ebp - 0x338]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov eax, dword [ebp + 8]</span><br><span> mov dword [ebp - 0x368], esi</span><br><span> mov dword [ebp - 0x344], edi</span><br><span>@@ -13532,11 +13469,11 @@</span><br><span> lea eax, [ebp - 0x2a8]</span><br><span> mov bl, byte [ebx + 0x176a]</span><br><span> mov byte [ebp - 0x348], bl</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x48</span><br><span> lea eax, [ebp - 0x260]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ebx, dword [ebp + 8]</span><br><span> mov eax, 0x3074</span><br><span> add ebx, 0x2974</span><br><span>@@ -13762,12 +13699,12 @@</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x2c8]</span><br><span> lea ebx, [ebp - 0x308]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x2e8]</span><br><span> lea esi, [ebp - 0x2a8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov eax, dword [ebp + 8]</span><br><span> mov dword [ebp - 0x340], ebx</span><br><span> add eax, 0x10b7</span><br><span>@@ -14270,7 +14207,7 @@</span><br><span> mov eax, dword [ebp - 0x340]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffacafd:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -14820,7 +14757,7 @@</span><br><span> movzx ecx, byte [ebx + 0x1755]</span><br><span> add eax, 0xf9</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffad2d3:  ; not directly referenced</span><br><span> inc esi</span><br><span>@@ -14889,11 +14826,11 @@</span><br><span> xor ecx, ecx</span><br><span> lea eax, [ebp - 0x21]</span><br><span> mov edi, dword [ebp + 0x10]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 1</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x1f]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> movzx eax, byte [ebp - 0x2a]</span><br><span> mov dl, byte [ebp - 0x48]</span><br><span> shr edx, 1</span><br><span>@@ -15100,19 +15037,19 @@</span><br><span> mov ebx, dword [ebp + 0xc]</span><br><span> mov byte [ebp - 0x1a], 0xf8</span><br><span> mov byte [ebp - 0x19], 8</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x22]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x1e]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0x7f</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x1c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> movzx esi, byte [ebp - 0x35]</span><br><span> xor edx, edx</span><br><span> mov ecx, esi</span><br><span>@@ -15864,7 +15801,7 @@</span><br><span> mov esi, dword [ebp + 8]</span><br><span> mov bl, byte [esi + 0x176a]</span><br><span> mov byte [ebp - 0x31], bl</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp dword [esi + 0x1749], 2</span><br><span> mov eax, esi</span><br><span> movzx edx, byte [esi + 0x176b]</span><br><span>@@ -15898,7 +15835,7 @@</span><br><span> xor edx, edx</span><br><span> movzx ecx, byte [esi + 0x1755]</span><br><span> add eax, 0x107</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffade76:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -16173,7 +16110,7 @@</span><br><span> mov eax, dword [ebp - 0x160]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffae176:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -16540,7 +16477,7 @@</span><br><span> lea eax, [ebx + 0xf9]</span><br><span> xor edx, edx</span><br><span> movzx ecx, byte [esi + 0x1755]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> add ebx, dword [ebp - 0x148]</span><br><span> xor eax, eax</span><br><span> mov dword [ebp - 0x144], ebx</span><br><span>@@ -19215,7 +19152,7 @@</span><br><span> mov ecx, 1</span><br><span> mov bl, byte [ebp + 8]</span><br><span> mov edi, dword [ebp + 0xc]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp byte [ebp - 0x155], 0xb</span><br><span> mov al, byte [ebp - 0x155]</span><br><span> setne byte [ebp - 0x156]</span><br><span>@@ -19355,7 +19292,7 @@</span><br><span> loc_fffb05cf:  ; not directly referenced</span><br><span> lea eax, [ebx + 0xf9]</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov edx, edi</span><br><span> mov eax, dword [esi + 0x103f]</span><br><span> shl edx, 0xa</span><br><span>@@ -20023,7 +19960,7 @@</span><br><span> ja loc_fffb1cc4  ; ja 0xfffb1cc4</span><br><span> mov edx, 0x10</span><br><span> lea eax, [ebp - 0xc68]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor eax, eax</span><br><span> </span><br><span> loc_fffb0e06:  ; not directly referenced</span><br><span>@@ -20057,14 +19994,14 @@</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x1c</span><br><span> lea eax, [ebp - 0xc04]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> jmp short loc_fffb0ea6  ; jmp 0xfffb0ea6</span><br><span> </span><br><span> loc_fffb0e90:  ; not directly referenced</span><br><span> mov ecx, 0x1c</span><br><span> lea edx, [ebp - 0xc20]</span><br><span> lea eax, [ebp - 0xc04]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> </span><br><span> loc_fffb0ea6:  ; not directly referenced</span><br><span> mov dword [ebp - 0xcd0], 0</span><br><span>@@ -20117,7 +20054,7 @@</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> imul eax, ebx, 0x1347</span><br><span> lea eax, [esi + eax + 0x101]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb0fa2:  ; not directly referenced</span><br><span> inc ebx</span><br><span>@@ -20165,7 +20102,7 @@</span><br><span> mov edx, 0x18</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> mov eax, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov eax, dword [ebp - 0xc7c]</span><br><span> mov edx, 0x18</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span>@@ -20176,24 +20113,24 @@</span><br><span> mov edx, 1</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> lea eax, [ebp - 0xba0]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov eax, dword [ebp - 0xc7c]</span><br><span> mov edx, 1</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> lea eax, [ebp - 0xbe8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov eax, dword [ebp - 0xc7c]</span><br><span> mov edx, 1</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> lea eax, [ebp - 0xb7c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov eax, dword [ebp - 0xc7c]</span><br><span> mov edx, 1</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> </span><br><span> loc_fffb10d3:  ; not directly referenced</span><br><span> lea eax, [ebp - 0xbc4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb10de:  ; not directly referenced</span><br><span> push eax</span><br><span>@@ -20556,7 +20493,7 @@</span><br><span> mov eax, dword [ebp - 0xc84]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb1640:  ; not directly referenced</span><br><span> inc esi</span><br><span>@@ -20595,12 +20532,12 @@</span><br><span> mov edx, 0x18</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> mov eax, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov eax, dword [ebp - 0xc7c]</span><br><span> mov edx, 0x18</span><br><span> movzx ecx, byte [eax + 0x1755]</span><br><span> lea eax, [ebp - 0xbc4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb16f9:  ; not directly referenced</span><br><span> mov bl, byte [ebp - 0xca8]</span><br><span>@@ -20638,7 +20575,7 @@</span><br><span> add eax, esi</span><br><span> mov edx, 8</span><br><span> inc ebx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> add dword [ebp - 0xc90], 0x24</span><br><span> cmp ebx, 2</span><br><span> jne short loc_fffb175b  ; jne 0xfffb175b</span><br><span>@@ -20936,7 +20873,7 @@</span><br><span> mov eax, dword [ebp - 0xc94]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb1bd2:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -21465,42 +21402,6 @@</span><br><span> pop ebp</span><br><span> ret</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffb21bf:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-cmp eax, 0xffffffffffffffff</span><br><span style="color: hsl(0, 100%, 40%);">-je short loc_fffb21e7  ; je 0xfffb21e7</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-xor ecx, ecx</span><br><span style="color: hsl(0, 100%, 40%);">-xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-push edi</span><br><span style="color: hsl(0, 100%, 40%);">-push esi</span><br><span style="color: hsl(0, 100%, 40%);">-push ebx</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebx, 1</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffb21d3:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-mov edi, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-lea esi, [ecx + 1]</span><br><span style="color: hsl(0, 100%, 40%);">-shl edi, cl</span><br><span style="color: hsl(0, 100%, 40%);">-test edi, eax</span><br><span style="color: hsl(0, 100%, 40%);">-cmovne edx, esi</span><br><span style="color: hsl(0, 100%, 40%);">-inc ecx</span><br><span style="color: hsl(0, 100%, 40%);">-cmp ecx, 0x20</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffb21d3  ; jne 0xfffb21d3</span><br><span style="color: hsl(0, 100%, 40%);">-jmp short loc_fffb21ec  ; jmp 0xfffb21ec</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffb21e7:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-mov al, dl</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffb21ec:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebx</span><br><span style="color: hsl(0, 100%, 40%);">-mov al, dl</span><br><span style="color: hsl(0, 100%, 40%);">-pop esi</span><br><span style="color: hsl(0, 100%, 40%);">-pop edi</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> fcn_fffb21f3:  ; not directly referenced</span><br><span> push ebp</span><br><span> mov ebp, esp</span><br><span>@@ -21516,19 +21417,19 @@</span><br><span> mov ecx, 1</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x38]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x30]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 9</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x28]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor edx, edx</span><br><span> mov ecx, 2</span><br><span> lea eax, [ebp - 0x20]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> cmp byte [ebp - 0x49], 1</span><br><span> jne short loc_fffb2278  ; jne 0xfffb2278</span><br><span> mov byte [ebp - 0x35], 0xa</span><br><span>@@ -21615,7 +21516,7 @@</span><br><span> mov byte [ebp - 0x70], dl</span><br><span> movzx eax, dl</span><br><span> dec eax</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> mov dl, byte [ebp - 0x70]</span><br><span> cmp dl, 0x1f</span><br><span> jbe short loc_fffb2368  ; jbe 0xfffb2368</span><br><span>@@ -21924,7 +21825,7 @@</span><br><span> mov dword [ebp - 0x41], 0</span><br><span> mov dword [ebp - 0x3d], 0</span><br><span> mov ebx, dword [ebp + 0x24]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> mov cl, byte [ebp - 0x49]</span><br><span> mov byte [ebp - 0x5d], al</span><br><span> inc ecx</span><br><span>@@ -21963,7 +21864,7 @@</span><br><span> jbe short loc_fffb271d  ; jbe 0xfffb271d</span><br><span> movzx edx, dx</span><br><span> lea eax, [edx - 1]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> mov byte [ebp - 0x98], al</span><br><span> </span><br><span> loc_fffb271d:  ; not directly referenced</span><br><span>@@ -21971,7 +21872,7 @@</span><br><span> mov si, word [eax]</span><br><span> movzx eax, si</span><br><span> dec eax</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> cmp si, 0x1f</span><br><span> jbe short loc_fffb273d  ; jbe 0xfffb273d</span><br><span> mov edx, dword [ebp + 0x18]</span><br><span>@@ -22662,7 +22563,7 @@</span><br><span> add edi, 0x1774</span><br><span> mov dword [ebp - 0x40], edi</span><br><span> xor edi, edi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> sub esp, 0xc</span><br><span> mov eax, dword [ebp + 8]</span><br><span> push 0</span><br><span>@@ -22700,7 +22601,7 @@</span><br><span> mov edx, dword [ebp - 0x3c]</span><br><span> lea eax, [edx + eax + 0x101]</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb2f0f:  ; not directly referenced</span><br><span> cmp byte [ebp - 0x29], 0</span><br><span>@@ -24237,19 +24138,19 @@</span><br><span> xor ecx, ecx</span><br><span> mov dword [ebp - 0x1f8], ebx</span><br><span> lea esi, [edi + 0x2974]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0xf8</span><br><span> mov edx, 0x12</span><br><span> lea eax, [ebp - 0x1a4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0xff</span><br><span> mov edx, 0x12</span><br><span> lea eax, [ebp - 0x16e]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x12</span><br><span> lea eax, [ebp - 0x180]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov dword [ebp - 0x1c4], 0x64</span><br><span> xor eax, eax</span><br><span> mov dword [ebp - 0x1c0], esi</span><br><span>@@ -24578,11 +24479,11 @@</span><br><span> mov edx, 0xa2</span><br><span> lea eax, [ebp - 0x15c]</span><br><span> lea esi, [edi + 0x2974]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0xa2</span><br><span> lea eax, [ebp - 0xba]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp dword [ebp - 0x1f8], 1</span><br><span> mov dword [ebp - 0x1c0], 1</span><br><span> sbb ebx, ebx</span><br><span>@@ -24949,11 +24850,11 @@</span><br><span> mov byte [ebp - 0x42], 2</span><br><span> mov byte [ebp - 0x41], 3</span><br><span> mov dword [ebp - 0x54], esi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov ecx, 6</span><br><span> lea edx, [ebp - 0x3c]</span><br><span> lea eax, [ebp - 0x36]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov eax, dword [ebp - 0x4c]</span><br><span> xor edx, edx</span><br><span> cmp dword [eax + 0x1749], 2</span><br><span>@@ -26710,23 +26611,23 @@</span><br><span> mov byte [ebp - 0xbd65], 0</span><br><span> mov byte [ebp - 0xbd7f], 6</span><br><span> mov byte [ebp - 0xbd7e], 5</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0xb77a</span><br><span> lea eax, [ebp - 0xb792]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x15e</span><br><span> lea eax, [ebp - 0xbd52]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0xbd85]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0xbd64]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov edi, dword [ebp + 8]</span><br><span> mov dl, bl</span><br><span> xor edx, 1</span><br><span>@@ -29647,16 +29548,16 @@</span><br><span> push ebx</span><br><span> lea esp, [esp - 0x19c]</span><br><span> mov ebx, dword [ebp + 8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x15e]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x130</span><br><span> lea eax, [ebp - 0x148]</span><br><span> lea esi, [ebx + 0x16be]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor eax, eax</span><br><span> cmp dword [ebx + 0x1749], 2</span><br><span> sete al</span><br><span>@@ -29694,7 +29595,7 @@</span><br><span> movzx ecx, byte [ebx + 0x1755]</span><br><span> lea eax, [edx + eax + 0x13b7]</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffb8136:  ; not directly referenced</span><br><span> inc esi</span><br><span>@@ -29764,11 +29665,11 @@</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x15c]</span><br><span> lea esi, [ebp - 0x15a]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> mov eax, esi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> lea ecx, [ebp - 0x15c]</span><br><span> xor edx, edx</span><br><span> push ecx</span><br><span>@@ -30808,7 +30709,7 @@</span><br><span> mov dword [ebp - 0x34], eax</span><br><span> mov edx, 4</span><br><span> mov eax, dword [ebp + 0xc]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov eax, dword [ebp - 0x2c]</span><br><span> shl eax, 0xa</span><br><span> mov ebx, eax</span><br><span>@@ -31876,7 +31777,7 @@</span><br><span> mov edx, ebx</span><br><span> mov byte [eax + 0x1c], 1</span><br><span> add eax, 0x1d</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> jmp near loc_fffb9cc6  ; jmp 0xfffb9cc6</span><br><span> </span><br><span> loc_fffb9a24:</span><br><span>@@ -33405,11 +33306,11 @@</span><br><span> mov dword [ebp - 0x229], 0</span><br><span> mov dword [ebp - 0x225], 3</span><br><span> mov byte [ebp - 0x221], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> xor ecx, ecx</span><br><span> mov edx, 8</span><br><span> lea eax, [ebp - 0x24c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor edx, edx</span><br><span> cmp dword [ebx + 0x1749], 2</span><br><span> sete dl</span><br><span>@@ -34015,11 +33916,11 @@</span><br><span> lea eax, [esi + 0x16be]</span><br><span> mov dword [ebp - 0x54], eax</span><br><span> lea eax, [ebp - 0x28]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 1</span><br><span> mov edx, 3</span><br><span> lea eax, [ebp - 0x3b]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> sub esp, 0xc</span><br><span> mov ecx, 0x11</span><br><span> movzx edx, byte [esi + 0x176b]</span><br><span>@@ -34056,7 +33957,7 @@</span><br><span> movzx ecx, byte [esi + 0x1755]</span><br><span> add eax, 0x107</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffbb8d9:  ; not directly referenced</span><br><span> inc ebx</span><br><span>@@ -34252,7 +34153,7 @@</span><br><span> add eax, 0x107</span><br><span> xor edx, edx</span><br><span> movzx ecx, byte [esi + 0x1755]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffbbad1:  ; not directly referenced</span><br><span> inc ebx</span><br><span>@@ -37937,27 +37838,27 @@</span><br><span> mov edx, 0x4ee4</span><br><span> mov byte [ebp - 0x6b58], bl</span><br><span> mov bl, byte [ebp + 0x2c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0xff</span><br><span> mov edx, 0x3e</span><br><span> mov eax, dword [ebp - 0x6b98]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0xf0</span><br><span> lea eax, [ebp - 0x6aec]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x30</span><br><span> lea eax, [ebp - 0x6b1c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x6b37]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x10</span><br><span> lea eax, [ebp - 0x6b2c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor eax, eax</span><br><span> </span><br><span> loc_fffbe31a:  ; not directly referenced</span><br><span>@@ -38016,7 +37917,7 @@</span><br><span> xor ecx, ecx</span><br><span> movzx edx, byte [eax + 0x1755]</span><br><span> lea eax, [edi + 0x101]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> </span><br><span> loc_fffbe3e4:  ; not directly referenced</span><br><span> inc ebx</span><br><span>@@ -38920,11 +38821,11 @@</span><br><span> mov byte [ebp - 0x4fc], 0</span><br><span> mov byte [ebp - 0x4fb], 0</span><br><span> mov dword [ebp - 0x503], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0xff</span><br><span> mov edx, 0x53e</span><br><span> mov eax, dword [ebp - 0x524]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov eax, dword [ebp - 0x52c]</span><br><span> mov dl, byte [ebp - 0x520]</span><br><span> mov byte [ebp - 0x50d], 0</span><br><span>@@ -39697,27 +39598,27 @@</span><br><span> mov edx, 1</span><br><span> lea eax, [ebp - 0x34c]</span><br><span> movzx ebx, byte [ebp + 8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov ecx, 5</span><br><span> mov edx, 1</span><br><span> lea eax, [ebp - 0x338]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov ecx, 5</span><br><span> or edx, 0xffffffff</span><br><span> lea eax, [ebp - 0x324]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov ecx, 5</span><br><span> xor edx, edx</span><br><span> lea eax, [ebp - 0x310]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov ecx, 5</span><br><span> xor edx, edx</span><br><span> lea eax, [ebp - 0x2fc]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> mov ecx, 5</span><br><span> xor edx, edx</span><br><span> lea eax, [ebp - 0x2e8]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x2bc</span><br><span> lea eax, [ebp - 0x2d4]</span><br><span>@@ -39726,11 +39627,11 @@</span><br><span> mov word [ebp - 0x352], 0</span><br><span> mov word [ebp - 0x350], 0</span><br><span> mov word [ebp - 0x34e], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x462</span><br><span> mov eax, dword [ebp - 0x370]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> movsx ecx, byte [ebp - 0x371]</span><br><span> mov dword [ebp - 0x398], ebx</span><br><span> mov ebx, dword [ebp - 0x378]</span><br><span>@@ -40041,7 +39942,7 @@</span><br><span> mov eax, esi</span><br><span> </span><br><span> loc_fffbffae:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> inc edi</span><br><span> add ebx, eax</span><br><span> cmp edi, 5</span><br><span>@@ -40358,7 +40259,7 @@</span><br><span> mov byte [ebp - 0x2a], dl</span><br><span> lea eax, [ebp - 0x1d]</span><br><span> mov edx, 5</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> cmp dword [ebp + 0xc], 0</span><br><span> mov al, 0</span><br><span> mov cl, byte [ebp - 0x2a]</span><br><span>@@ -40601,7 +40502,7 @@</span><br><span> mov edx, 0x26</span><br><span> mov dword [ebp - 0x88], eax</span><br><span> lea eax, [ebp - 0x3e]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> movzx ecx, byte [ebp - 0x77]</span><br><span> mov edx, esi</span><br><span> movzx eax, dl</span><br><span>@@ -41033,11 +40934,11 @@</span><br><span> xor ecx, ecx</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x28]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov edx, 2</span><br><span> xor ecx, ecx</span><br><span> lea eax, [ebp - 0x40]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> imul eax, dword [ebp - 0x64], 0x24</span><br><span> mov edx, dword [ebp - 0x50]</span><br><span> add edx, eax</span><br><span>@@ -41813,7 +41714,7 @@</span><br><span> mov ecx, 1</span><br><span> mov edx, 7</span><br><span> lea eax, [ebp - 0x4f]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> movsx si, byte [ebp - 0x6c]</span><br><span> cmp dword [edi + 0x1749], 2</span><br><span> mov word [ebp - 0x78], si</span><br><span>@@ -42169,7 +42070,7 @@</span><br><span> lea eax, [ebp - 0x27]</span><br><span> mov dword [ebp - 0x1c], 0</span><br><span> mov dword [ebp - 0x20], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, esi</span><br><span> mov eax, esi</span><br><span> and ecx, 1</span><br><span>@@ -42449,12 +42350,12 @@</span><br><span> lea esp, [esp - 0x50bc]</span><br><span> mov dword [ebp - 0x50bc], eax</span><br><span> lea eax, [ebp - 0x503a]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> lea eax, [ebp - 0x5079]</span><br><span> mov ecx, 0x3f</span><br><span> mov edx, ref_fffcbee8  ; mov edx, 0xfffcbee8</span><br><span> mov dword [ebp - 0x38ce], eax</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov edx, dword [ebp - 0x50bc]</span><br><span> push edi</span><br><span> push edi</span><br><span>@@ -42484,7 +42385,7 @@</span><br><span> lea edi, [eax + 8]</span><br><span> add eax, 0x18</span><br><span> rep movsd  ; rep movsd dword es:[edi], dword ptr [esi]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> jmp short loc_fffc1c07  ; jmp 0xfffc1c07</span><br><span> </span><br><span> loc_fffc1bfd:</span><br><span>@@ -42929,7 +42830,7 @@</span><br><span> jne loc_fffc2251  ; jne 0xfffc2251</span><br><span> lea eax, [ebp - 0x397c]</span><br><span> mov edx, 0x395c</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> lea eax, [ebp - 0x5079]</span><br><span> inc byte [ebp - 0x4022]</span><br><span> mov dword [ebp - 0x38ce], eax</span><br><span>@@ -43092,7 +42993,7 @@</span><br><span> mov eax, dword [ebp - 0x50a0]</span><br><span> mov edx, 1</span><br><span> add eax, 0x503a</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> add esp, 0x10</span><br><span> </span><br><span> loc_fffc2355:</span><br><span>@@ -43110,7 +43011,7 @@</span><br><span> loc_fffc2376:</span><br><span> mov edx, 0xfd4</span><br><span> lea eax, [ebp - 0x5036]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa118a  ; call 0xfffa118a</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_zeromem</span><br><span> xor edi, edi</span><br><span> jmp near loc_fffc1f53  ; jmp 0xfffc1f53</span><br><span> </span><br><span>@@ -44274,7 +44175,7 @@</span><br><span> movzx ecx, byte [ebx + 0x1755]</span><br><span> mov edx, dword [ebp - 0x34]</span><br><span> mov eax, esi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffc32a3:  ; not directly referenced</span><br><span> inc byte [ebp - 0x2d]</span><br><span>@@ -44331,7 +44232,7 @@</span><br><span> mov byte [ebp - 0x933], 1</span><br><span> mov byte [ebp - 0x932], 1</span><br><span> mov dword [ebp - 0x944], ebx</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor eax, eax</span><br><span> </span><br><span> loc_fffc3355:  ; not directly referenced</span><br><span>@@ -44404,7 +44305,7 @@</span><br><span> xor edx, edx</span><br><span> movzx ecx, byte [esi + 0x1755]</span><br><span> add eax, 0x107</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffc3457:  ; not directly referenced</span><br><span> inc ebx</span><br><span>@@ -44743,7 +44644,7 @@</span><br><span> mov eax, dword [ebp - 0x950]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> sub esp, 0xc</span><br><span> mov ecx, 1</span><br><span> push 0</span><br><span>@@ -45042,7 +44943,7 @@</span><br><span> mov eax, dword [ebp - 0x950]</span><br><span> xor edx, edx</span><br><span> add eax, 0xf9</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffc83ab  ; call 0xfffc83ab</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_fillword</span><br><span> </span><br><span> loc_fffc3d05:  ; not directly referenced</span><br><span> inc edi</span><br><span>@@ -45358,7 +45259,7 @@</span><br><span> </span><br><span> loc_fffc406a:  ; not directly referenced</span><br><span> dec eax</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> movzx eax, al</span><br><span> jmp short loc_fffc4078  ; jmp 0xfffc4078</span><br><span> </span><br><span>@@ -45383,7 +45284,7 @@</span><br><span> lea eax, [edx + 0x80]</span><br><span> jbe short loc_fffc40b6  ; jbe 0xfffc40b6</span><br><span> lea eax, [edx - 1]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> movzx eax, al</span><br><span> </span><br><span> loc_fffc40b6:  ; not directly referenced</span><br><span>@@ -45404,7 +45305,7 @@</span><br><span> lea eax, [edx + 0x20]</span><br><span> jbe short loc_fffc40f3  ; jbe 0xfffc40f3</span><br><span> lea eax, [edx - 1]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> movzx eax, al</span><br><span> </span><br><span> loc_fffc40f3:  ; not directly referenced</span><br><span>@@ -45423,7 +45324,7 @@</span><br><span> lea eax, [edx + 0x80]</span><br><span> jbe short loc_fffc4125  ; jbe 0xfffc4125</span><br><span> lea eax, [edx - 1]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> movzx eax, al</span><br><span> </span><br><span> loc_fffc4125:  ; not directly referenced</span><br><span>@@ -46153,19 +46054,19 @@</span><br><span> mov dword [ebp - 0x32a], 0</span><br><span> mov dword [ebp - 0x326], 7</span><br><span> mov byte [ebp - 0x322], 0</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 2</span><br><span> lea eax, [ebp - 0x337]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 0x10</span><br><span> lea eax, [ebp - 0x314]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, 0x2c</span><br><span> lea edx, [ebp - 0x2e0]</span><br><span> lea eax, [ebp - 0x2b4]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> xor eax, eax</span><br><span> </span><br><span> loc_fffc49a5:  ; not directly referenced</span><br><span>@@ -46348,7 +46249,7 @@</span><br><span> call fcn_fffb2650  ; call 0xfffb2650</span><br><span> add esp, 0x20</span><br><span> lea eax, [esi - 1]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffb21bf  ; call 0xfffb21bf</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_highest_bit</span><br><span> movzx eax, al</span><br><span> mov ecx, ebx</span><br><span> sub ecx, eax</span><br><span>@@ -48817,10 +48718,10 @@</span><br><span> </span><br><span> fcn_fffc6986:</span><br><span> mov ecx, 0xce</span><br><span style="color: hsl(0, 100%, 40%);">-rdmsr</span><br><span style="color: hsl(120, 100%, 40%);">+rdmsr ; rdmsr(MSR_PLATFORM_INFO)</span><br><span> movzx ecx, ah</span><br><span> xor edx, edx</span><br><span style="color: hsl(0, 100%, 40%);">-imul ecx, ecx, 0x186a0</span><br><span style="color: hsl(120, 100%, 40%);">+imul ecx, ecx, 0x186a0 ; 100000</span><br><span> xor eax, eax</span><br><span> test ecx, ecx</span><br><span> je short loc_fffc69ba  ; je 0xfffc69ba</span><br><span>@@ -48928,11 +48829,11 @@</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0xa2]</span><br><span> lea esi, [ebp - 0x72]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> xor ecx, ecx</span><br><span> mov edx, 4</span><br><span> lea eax, [ebp - 0x9e]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov dword [ebp - 0xbc], esi</span><br><span> xor esi, esi</span><br><span> </span><br><span>@@ -50948,24 +50849,6 @@</span><br><span> pop ebp</span><br><span> ret</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-fcn_fffc83ab:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-push ebp</span><br><span style="color: hsl(0, 100%, 40%);">-mov ebp, esp</span><br><span style="color: hsl(0, 100%, 40%);">-push ebx</span><br><span style="color: hsl(0, 100%, 40%);">-xor ebx, ebx</span><br><span style="color: hsl(0, 100%, 40%);">-jmp short loc_fffc83b7  ; jmp 0xfffc83b7</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffc83b3:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-mov dword [eax + ebx*4], edx</span><br><span style="color: hsl(0, 100%, 40%);">-inc ebx</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-loc_fffc83b7:  ; not directly referenced</span><br><span style="color: hsl(0, 100%, 40%);">-cmp ebx, ecx</span><br><span style="color: hsl(0, 100%, 40%);">-jne short loc_fffc83b3  ; jne 0xfffc83b3</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebx</span><br><span style="color: hsl(0, 100%, 40%);">-pop ebp</span><br><span style="color: hsl(0, 100%, 40%);">-ret</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> fcn_fffc83be:</span><br><span> push ebp</span><br><span> mov ecx, edx</span><br><span>@@ -52109,7 +51992,7 @@</span><br><span> mov ecx, 8</span><br><span> lea edx, [ebp - 0x28]</span><br><span> lea eax, [ebp - 0x20]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov bl, byte [ebp - 0x19]</span><br><span> shr bl, 7</span><br><span> jmp short loc_fffc8ed7  ; jmp 0xfffc8ed7</span><br><span>@@ -52201,7 +52084,7 @@</span><br><span> mov ecx, 8</span><br><span> lea eax, [ebp - 0x30]</span><br><span> or byte [ebp - 0x21], 0x80</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov eax, dword [ebp - 0x30]</span><br><span> mov edx, dword [ebp - 0x2c]</span><br><span> mov ecx, 0x150</span><br><span>@@ -52218,7 +52101,7 @@</span><br><span> mov dword [ebp - 0x2c], edx</span><br><span> lea eax, [ebp - 0x28]</span><br><span> lea edx, [ebp - 0x30]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov eax, 0xa</span><br><span> call fcn_fffc5e98  ; call 0xfffc5e98</span><br><span> mov eax, dword [ebp - 0x40]</span><br><span>@@ -52228,7 +52111,7 @@</span><br><span> mov ecx, 8</span><br><span> lea edx, [ebp - 0x30]</span><br><span> lea eax, [ebp - 0x20]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> mov edx, dword [ebp - 0x1c]</span><br><span> cmp dword [ebp - 0x24], edx</span><br><span> je short loc_fffc904d  ; je 0xfffc904d</span><br><span>@@ -52245,7 +52128,7 @@</span><br><span> </span><br><span> loc_fffc905e:</span><br><span> mov eax, esi</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa115e  ; call 0xfffa115e</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_memcpy</span><br><span> jmp short loc_fffc906c  ; jmp 0xfffc906c</span><br><span> </span><br><span> loc_fffc9067:</span><br><span>@@ -53068,7 +52951,7 @@</span><br><span> mov byte [ebp - 0x5d], al</span><br><span> xor ecx, ecx</span><br><span> lea eax, [ebp - 0x2c]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov ecx, edi</span><br><span> mov eax, 1</span><br><span> movzx edx, cl</span><br><span>@@ -53460,7 +53343,7 @@</span><br><span> mov byte [ebp - 0x3b], al</span><br><span> xor ecx, ecx</span><br><span> lea eax, [ebp - 0x1a]</span><br><span style="color: hsl(0, 100%, 40%);">-call fcn_fffa119f  ; call 0xfffa119f</span><br><span style="color: hsl(120, 100%, 40%);">+call mrc_setmem</span><br><span> mov cl, bl</span><br><span> mov dword [ebp - 0x40], 1</span><br><span> movzx edx, bl</span><br><span>diff --git a/src/northbridge/intel/haswell/mrc_utils.c b/src/northbridge/intel/haswell/mrc_utils.c</span><br><span>new file mode 100644</span><br><span>index 0000000..f4c125a</span><br><span>--- /dev/null</span><br><span>+++ b/src/northbridge/intel/haswell/mrc_utils.c</span><br><span>@@ -0,0 +1,43 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#include <string.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_setmem(void *s, size_t n, int c);</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_memcpy(void *dst, const void *src, size_t n);</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_fillword(int *s, int c, size_t n);</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_zeromem(void *s, size_t n);</span><br><span style="color: hsl(120, 100%, 40%);">+char __attribute((regparm(3))) mrc_highest_bit(int a);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_setmem(void *s, size_t n, int c)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  memset(s, c, n);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_fillword(int *s, int c, size_t n)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        for (size_t i = 0; i < n; i++)</span><br><span style="color: hsl(120, 100%, 40%);">+             s[i] = c;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_memcpy(void *dst, const void *src, size_t n)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    memcpy(dst, src, n);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void __attribute((regparm(3))) mrc_zeromem(void *s, size_t n)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   memset(s, 0, n);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+char __attribute((regparm(3))) mrc_highest_bit(int a)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       int result = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     if (a == -1)</span><br><span style="color: hsl(120, 100%, 40%);">+          return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   for (int i = 0; i < 32; i++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             if (a & (1 << i))</span><br><span style="color: hsl(120, 100%, 40%);">+                   result = i + 1;</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   return result;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/c/coreboot/+/30188">change 30188</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/c/coreboot/+/30188"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ifebe96f655c13d7c17ac09f520581d7df7e3cf7d </div>
<div style="display:none"> Gerrit-Change-Number: 30188 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Iru Cai <mytbk920423@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Iru Cai <mytbk920423@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Martin Roth <martinroth@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>