1 1 00000000 [FORMAT "WCOFF"]
2 2 00000000 [INSTRSET "i486p"]
3 3 00000000 [OPTIMIZE 1]
6 6 00000000 EXTERN _io_load_eflags
7 7 00000000 EXTERN _io_store_eflags
8 8 00000000 EXTERN _memtest_sub
9 9 00000000 EXTERN _load_cr0
10 10 00000000 EXTERN _store_cr0
11 11 00000000 [FILE "memory.c"]
13 13 00000000 GLOBAL _memtest
15 15 00000000 55 PUSH EBP
16 16 00000001 89 E5 MOV EBP,ESP
17 17 00000003 56 PUSH ESI
18 18 00000004 53 PUSH EBX
19 19 00000005 31 F6 XOR ESI,ESI
20 20 00000007 E8 [00000000] CALL _io_load_eflags
21 21 0000000C 0D 00040000 OR EAX,262144
22 22 00000011 50 PUSH EAX
23 23 00000012 E8 [00000000] CALL _io_store_eflags
24 24 00000017 E8 [00000000] CALL _io_load_eflags
25 25 0000001C 5A POP EDX
26 26 0000001D A9 00040000 TEST EAX,262144
27 27 00000022 74 05 JE L2
28 28 00000024 BE 00000001 MOV ESI,1
30 30 00000029 25 FFFBFFFF AND EAX,-262145
31 31 0000002E 50 PUSH EAX
32 32 0000002F E8 [00000000] CALL _io_store_eflags
33 33 00000034 58 POP EAX
34 34 00000035 89 F0 MOV EAX,ESI
35 35 00000037 84 C0 TEST AL,AL
36 36 00000039 75 31 JNE L5
38 38 0000003B FF 75 0C PUSH DWORD [12+EBP]
39 39 0000003E FF 75 08 PUSH DWORD [8+EBP]
40 40 00000041 E8 [00000000] CALL _memtest_sub
41 41 00000046 5A POP EDX
42 42 00000047 89 C3 MOV EBX,EAX
43 43 00000049 59 POP ECX
44 44 0000004A 89 F0 MOV EAX,ESI
45 45 0000004C 84 C0 TEST AL,AL
46 46 0000004E 75 09 JNE L6
48 48 00000050 8D 65 F8 LEA ESP,DWORD [-8+EBP]
49 49 00000053 89 D8 MOV EAX,EBX
50 50 00000055 5B POP EBX
51 51 00000056 5E POP ESI
52 52 00000057 5D POP EBP
55 55 00000059 E8 [00000000] CALL _load_cr0
56 56 0000005E 25 9FFFFFFF AND EAX,-1610612737
57 57 00000063 50 PUSH EAX
58 58 00000064 E8 [00000000] CALL _store_cr0
59 59 00000069 58 POP EAX
60 60 0000006A EB E4 JMP L4
62 62 0000006C E8 [00000000] CALL _load_cr0
63 63 00000071 0D 60000000 OR EAX,1610612736
64 64 00000076 50 PUSH EAX
65 65 00000077 E8 [00000000] CALL _store_cr0
66 66 0000007C 5B POP EBX
67 67 0000007D EB BC JMP L3
68 68 0000007F GLOBAL _memman_init
69 69 0000007F _memman_init:
70 70 0000007F 55 PUSH EBP
71 71 00000080 89 E5 MOV EBP,ESP
72 72 00000082 8B 45 08 MOV EAX,DWORD [8+EBP]
73 73 00000085 C7 00 00000000 MOV DWORD [EAX],0
74 74 0000008B C7 40 04 00000000 MOV DWORD [4+EAX],0
75 75 00000092 C7 40 08 00000000 MOV DWORD [8+EAX],0
76 76 00000099 C7 40 0C 00000000 MOV DWORD [12+EAX],0
77 77 000000A0 5D POP EBP
79 79 000000A2 GLOBAL _memman_total
80 80 000000A2 _memman_total:
81 81 000000A2 55 PUSH EBP
82 82 000000A3 31 C0 XOR EAX,EAX
83 83 000000A5 89 E5 MOV EBP,ESP
84 84 000000A7 31 D2 XOR EDX,EDX
85 85 000000A9 53 PUSH EBX
86 86 000000AA 8B 5D 08 MOV EBX,DWORD [8+EBP]
87 87 000000AD 8B 0B MOV ECX,DWORD [EBX]
88 88 000000AF 39 C8 CMP EAX,ECX
89 89 000000B1 73 09 JAE L15
91 91 000000B3 03 44 D3 14 ADD EAX,DWORD [20+EBX+EDX*8]
92 92 000000B7 42 INC EDX
93 93 000000B8 39 CA CMP EDX,ECX
94 94 000000BA 72 F7 JB L13
96 96 000000BC 5B POP EBX
97 97 000000BD 5D POP EBP
99 99 000000BF GLOBAL _memman_alloc
100 100 000000BF _memman_alloc:
101 101 000000BF 55 PUSH EBP
102 102 000000C0 31 C9 XOR ECX,ECX
103 103 000000C2 89 E5 MOV EBP,ESP
104 104 000000C4 57 PUSH EDI
105 105 000000C5 56 PUSH ESI
106 106 000000C6 53 PUSH EBX
107 107 000000C7 8B 75 0C MOV ESI,DWORD [12+EBP]
108 108 000000CA 8B 5D 08 MOV EBX,DWORD [8+EBP]
109 109 000000CD 8B 03 MOV EAX,DWORD [EBX]
110 110 000000CF 39 C1 CMP ECX,EAX
111 111 000000D1 73 0D JAE L30
113 113 000000D3 8B 54 CB 14 MOV EDX,DWORD [20+EBX+ECX*8]
114 114 000000D7 39 F2 CMP EDX,ESI
115 115 000000D9 73 0C JAE L32
116 116 000000DB 41 INC ECX
117 117 000000DC 39 C1 CMP ECX,EAX
118 118 000000DE 72 F3 JB L28
120 120 000000E0 31 C0 XOR EAX,EAX
122 122 000000E2 5B POP EBX
123 123 000000E3 5E POP ESI
124 124 000000E4 5F POP EDI
125 125 000000E5 5D POP EBP
128 128 000000E7 8B 7C CB 10 MOV EDI,DWORD [16+EBX+ECX*8]
129 129 000000EB 8D 04 3E LEA EAX,DWORD [ESI+EDI*1]
130 130 000000EE 89 44 CB 10 MOV DWORD [16+EBX+ECX*8],EAX
131 131 000000F2 89 D0 MOV EAX,EDX
132 132 000000F4 29 F0 SUB EAX,ESI
133 133 000000F6 89 44 CB 14 MOV DWORD [20+EBX+ECX*8],EAX
134 134 000000FA 85 C0 TEST EAX,EAX
135 135 000000FC 75 20 JNE L22
136 136 000000FE 8B 03 MOV EAX,DWORD [EBX]
137 137 00000100 48 DEC EAX
138 138 00000101 89 03 MOV DWORD [EBX],EAX
139 139 00000103 39 C1 CMP ECX,EAX
140 140 00000105 73 17 JAE L22
141 141 00000107 89 C6 MOV ESI,EAX
143 143 00000109 8B 44 CB 18 MOV EAX,DWORD [24+EBX+ECX*8]
144 144 0000010D 8B 54 CB 1C MOV EDX,DWORD [28+EBX+ECX*8]
145 145 00000111 89 44 CB 10 MOV DWORD [16+EBX+ECX*8],EAX
146 146 00000115 89 54 CB 14 MOV DWORD [20+EBX+ECX*8],EDX
147 147 00000119 41 INC ECX
148 148 0000011A 39 F1 CMP ECX,ESI
149 149 0000011C 72 EB JB L27
151 151 0000011E 89 F8 MOV EAX,EDI
152 152 00000120 EB C0 JMP L16
153 153 00000122 GLOBAL _memman_free
154 154 00000122 _memman_free:
155 155 00000122 55 PUSH EBP
156 156 00000123 89 E5 MOV EBP,ESP
157 157 00000125 57 PUSH EDI
158 158 00000126 56 PUSH ESI
159 159 00000127 8B 75 08 MOV ESI,DWORD [8+EBP]
160 160 0000012A 53 PUSH EBX
161 161 0000012B 31 DB XOR EBX,EBX
162 162 0000012D 8B 3E MOV EDI,DWORD [ESI]
163 163 0000012F 39 FB CMP EBX,EDI
164 164 00000131 7D 0E JGE L35
166 166 00000133 8B 45 0C MOV EAX,DWORD [12+EBP]
167 167 00000136 39 44 DE 10 CMP DWORD [16+ESI+EBX*8],EAX
168 168 0000013A 77 05 JA L35
169 169 0000013C 43 INC EBX
170 170 0000013D 39 FB CMP EBX,EDI
171 171 0000013F 7C F2 JL L39
173 173 00000141 85 DB TEST EBX,EBX
174 174 00000143 7E 0F JLE L40
175 175 00000145 8B 54 DE 0C MOV EDX,DWORD [12+ESI+EBX*8]
176 176 00000149 8B 44 DE 08 MOV EAX,DWORD [8+ESI+EBX*8]
177 177 0000014D 01 D0 ADD EAX,EDX
178 178 0000014F 3B 45 0C CMP EAX,DWORD [12+EBP]
179 179 00000152 74 73 JE L63
181 181 00000154 39 FB CMP EBX,EDI
182 182 00000156 7D 0C JGE L49
183 183 00000158 8B 45 0C MOV EAX,DWORD [12+EBP]
184 184 0000015B 03 45 10 ADD EAX,DWORD [16+EBP]
185 185 0000015E 3B 44 DE 10 CMP EAX,DWORD [16+ESI+EBX*8]
186 186 00000162 74 53 JE L64
188 188 00000164 81 FF 00000FF9 CMP EDI,4089
189 189 0000016A 7F 3D JG L51
190 190 0000016C 89 F9 MOV ECX,EDI
191 191 0000016E 39 DF CMP EDI,EBX
192 192 00000170 7E 15 JLE L61
194 194 00000172 8B 44 CE 08 MOV EAX,DWORD [8+ESI+ECX*8]
195 195 00000176 8B 54 CE 0C MOV EDX,DWORD [12+ESI+ECX*8]
196 196 0000017A 89 44 CE 10 MOV DWORD [16+ESI+ECX*8],EAX
197 197 0000017E 89 54 CE 14 MOV DWORD [20+ESI+ECX*8],EDX
198 198 00000182 49 DEC ECX
199 199 00000183 39 D9 CMP ECX,EBX
200 200 00000185 7F EB JG L56
202 202 00000187 8D 47 01 LEA EAX,DWORD [1+EDI]
203 203 0000018A 89 06 MOV DWORD [ESI],EAX
204 204 0000018C 39 46 04 CMP DWORD [4+ESI],EAX
205 205 0000018F 7D 03 JGE L57
206 206 00000191 89 46 04 MOV DWORD [4+ESI],EAX
208 208 00000194 8B 45 0C MOV EAX,DWORD [12+EBP]
209 209 00000197 89 44 DE 10 MOV DWORD [16+ESI+EBX*8],EAX
210 210 0000019B 8B 45 10 MOV EAX,DWORD [16+EBP]
211 211 0000019E 89 44 DE 14 MOV DWORD [20+ESI+EBX*8],EAX
213 213 000001A2 31 C0 XOR EAX,EAX
215 215 000001A4 5B POP EBX
216 216 000001A5 5E POP ESI
217 217 000001A6 5F POP EDI
218 218 000001A7 5D POP EBP
221 221 000001A9 8B 45 10 MOV EAX,DWORD [16+EBP]
222 222 000001AC FF 46 0C INC DWORD [12+ESI]
223 223 000001AF 01 46 08 ADD DWORD [8+ESI],EAX
224 224 000001B2 83 C8 FF OR EAX,-1
225 225 000001B5 EB ED JMP L33
227 227 000001B7 8B 45 0C MOV EAX,DWORD [12+EBP]
228 228 000001BA 89 44 DE 10 MOV DWORD [16+ESI+EBX*8],EAX
229 229 000001BE 8B 45 10 MOV EAX,DWORD [16+EBP]
230 230 000001C1 01 44 DE 14 ADD DWORD [20+ESI+EBX*8],EAX
231 231 000001C5 EB DB JMP L62
233 233 000001C7 03 55 10 ADD EDX,DWORD [16+EBP]
234 234 000001CA 89 54 DE 0C MOV DWORD [12+ESI+EBX*8],EDX
235 235 000001CE 3B 1E CMP EBX,DWORD [ESI]
236 236 000001D0 7D D0 JGE L62
237 237 000001D2 8B 45 0C MOV EAX,DWORD [12+EBP]
238 238 000001D5 03 45 10 ADD EAX,DWORD [16+EBP]
239 239 000001D8 3B 44 DE 10 CMP EAX,DWORD [16+ESI+EBX*8]
240 240 000001DC 75 C4 JNE L62
241 241 000001DE 03 54 DE 14 ADD EDX,DWORD [20+ESI+EBX*8]
242 242 000001E2 89 54 DE 0C MOV DWORD [12+ESI+EBX*8],EDX
243 243 000001E6 8B 06 MOV EAX,DWORD [ESI]
244 244 000001E8 48 DEC EAX
245 245 000001E9 89 06 MOV DWORD [ESI],EAX
246 246 000001EB 39 C3 CMP EBX,EAX
247 247 000001ED 7D B3 JGE L62
248 248 000001EF 89 C1 MOV ECX,EAX
250 250 000001F1 8B 44 DE 18 MOV EAX,DWORD [24+ESI+EBX*8]
251 251 000001F5 8B 54 DE 1C MOV EDX,DWORD [28+ESI+EBX*8]
252 252 000001F9 89 44 DE 10 MOV DWORD [16+ESI+EBX*8],EAX
253 253 000001FD 89 54 DE 14 MOV DWORD [20+ESI+EBX*8],EDX
254 254 00000201 43 INC EBX
255 255 00000202 39 CB CMP EBX,ECX
256 256 00000204 7C EB JL L48
257 257 00000206 EB 9A JMP L62
258 258 00000208 GLOBAL _memman_alloc_4k
259 259 00000208 _memman_alloc_4k:
260 260 00000208 55 PUSH EBP
261 261 00000209 89 E5 MOV EBP,ESP
262 262 0000020B 8B 45 0C MOV EAX,DWORD [12+EBP]
263 263 0000020E 05 00000FFF ADD EAX,4095
264 264 00000213 25 FFFFF000 AND EAX,-4096
265 265 00000218 89 45 0C MOV DWORD [12+EBP],EAX
266 266 0000021B 5D POP EBP
267 267 0000021C E9 FFFFFE9E JMP _memman_alloc
268 268 00000221 GLOBAL _memman_free_4k
269 269 00000221 _memman_free_4k:
270 270 00000221 55 PUSH EBP
271 271 00000222 89 E5 MOV EBP,ESP
272 272 00000224 8B 45 10 MOV EAX,DWORD [16+EBP]
273 273 00000227 05 00000FFF ADD EAX,4095
274 274 0000022C 25 FFFFF000 AND EAX,-4096
275 275 00000231 89 45 10 MOV DWORD [16+EBP],EAX
276 276 00000234 5D POP EBP
277 277 00000235 E9 FFFFFEE8 JMP _memman_free