init.sbk (3731B)
1 .486 2 .model flat 3 extrn __fltused:near 4 extrn __ftol:near 5 _DATA segment 6 public _words 7 align 4 8 _words label byte 9 dd 1 10 dd 2 11 dd 3 12 db 105 13 db 102 14 db 0 15 db 3 dup (0) 16 db 2 dup (0) 17 dd 4 18 dd 5 19 db 4 dup (0) 20 db 102 21 db 111 22 db 114 23 db 3 dup (0) 24 db 2 dup (0) 25 dd 6 26 dd 7 27 dd 8 28 db 101 29 db 108 30 db 115 31 db 101 32 db 0 33 db 1 dup (0) 34 db 2 dup (0) 35 dd 9 36 dd 10 37 dd 11 38 db 119 39 db 104 40 db 105 41 db 108 42 db 101 43 db 1 dup (0) 44 db 2 dup (0) 45 dd 0 46 db 8 dup (0) 47 db 8 dup (0) 48 public _wordlist 49 align 4 50 _wordlist label byte 51 dd _words 52 public _x 53 align 4 54 _x label byte 55 dd 1 56 dd 2 57 dd 3 58 dd 4 59 dd 0 60 dd 5 61 dd 6 62 db 12 dup (0) 63 dd 7 64 db 16 dup (0) 65 public _y 66 align 4 67 _y label byte 68 dd _x 69 dd _x+20 70 dd _x+40 71 dd 00H 72 public _main 73 _DATA ends 74 _TEXT segment 75 _main: 76 push ebx 77 push esi 78 push edi 79 push ebp 80 mov ebp,esp 81 sub esp,8 82 mov dword ptr (-8)[ebp],0 83 jmp L8 84 L5: 85 mov dword ptr (-4)[ebp],0 86 jmp L12 87 L9: 88 mov edi,dword ptr (-4)[ebp] 89 mov esi,dword ptr (-8)[ebp] 90 mov esi,dword ptr (_y)[esi*4] 91 mov edi,dword ptr [esi][edi*4] 92 push edi 93 lea edi,(L13) 94 push edi 95 call _printf 96 add esp,8 97 L10: 98 inc dword ptr (-4)[ebp] 99 L12: 100 mov edi,dword ptr (-4)[ebp] 101 mov esi,dword ptr (-8)[ebp] 102 mov esi,dword ptr (_y)[esi*4] 103 cmp dword ptr [esi][edi*4],0 104 jne L9 105 lea edi,(L14) 106 push edi 107 call _printf 108 add esp,4 109 L6: 110 inc dword ptr (-8)[ebp] 111 L8: 112 mov edi,dword ptr (-8)[ebp] 113 mov edi,dword ptr (_y)[edi*4] 114 cmp edi,0 115 jne L5 116 call _f 117 add esp,0 118 mov edi,dword ptr (_wordlist) 119 push edi 120 call _g 121 add esp,4 122 mov eax,0 123 L4: 124 mov esp,ebp 125 pop ebp 126 pop edi 127 pop esi 128 pop ebx 129 ret 130 _TEXT ends 131 _DATA segment 132 align 4 133 L16 label byte 134 dd L17 135 dd L18 136 dd L19 137 dd L20 138 dd 00H 139 public _f 140 _DATA ends 141 _TEXT segment 142 _f: 143 push ebx 144 push esi 145 push edi 146 push ebp 147 mov ebp,esp 148 sub esp,4 149 lea edi,(L16) 150 mov dword ptr (-4)[ebp],edi 151 jmp L24 152 L21: 153 mov edi,dword ptr (-4)[ebp] 154 mov edi,dword ptr [edi] 155 push edi 156 lea edi,(L25) 157 push edi 158 call _printf 159 add esp,8 160 L22: 161 mov edi,dword ptr (-4)[ebp] 162 lea edi,(4)[edi] 163 mov dword ptr (-4)[ebp],edi 164 L24: 165 mov edi,dword ptr (-4)[ebp] 166 mov edi,dword ptr [edi] 167 cmp edi,0 168 jne L21 169 mov eax,0 170 L15: 171 mov esp,ebp 172 pop ebp 173 pop edi 174 pop esi 175 pop ebx 176 ret 177 public _g 178 _g: 179 push ebx 180 push esi 181 push edi 182 push ebp 183 mov ebp,esp 184 sub esp,4 185 jmp L30 186 L27: 187 mov dword ptr (-4)[ebp],0 188 jmp L34 189 L31: 190 mov edi,dword ptr (-4)[ebp] 191 mov esi,dword ptr (20)[ebp] 192 mov edi,dword ptr [esi][edi*4] 193 push edi 194 lea edi,(L35) 195 push edi 196 call _printf 197 add esp,8 198 L32: 199 inc dword ptr (-4)[ebp] 200 L34: 201 mov edi,dword ptr (-4)[ebp] 202 cmp edi,3 203 jb L31 204 mov edi,dword ptr (20)[ebp] 205 lea edi,(12)[edi] 206 push edi 207 lea edi,(L25) 208 push edi 209 call _printf 210 add esp,8 211 L28: 212 mov edi,dword ptr (20)[ebp] 213 lea edi,(20)[edi] 214 mov dword ptr (20)[ebp],edi 215 L30: 216 mov edi,dword ptr (20)[ebp] 217 cmp dword ptr [edi],0 218 jne L27 219 call _h 220 add esp,0 221 mov eax,0 222 L26: 223 mov esp,ebp 224 pop ebp 225 pop edi 226 pop esi 227 pop ebx 228 ret 229 public _h 230 _h: 231 push ebx 232 push esi 233 push edi 234 push ebp 235 mov ebp,esp 236 sub esp,4 237 mov dword ptr (-4)[ebp],0 238 jmp L40 239 L37: 240 imul edi,dword ptr (-4)[ebp],20 241 lea esi,(_words+12)[edi] 242 push esi 243 mov esi,dword ptr (_words+8)[edi] 244 push esi 245 mov esi,dword ptr (_words+4)[edi] 246 push esi 247 mov edi,dword ptr (_words)[edi] 248 push edi 249 lea edi,(L41) 250 push edi 251 call _printf 252 add esp,20 253 L38: 254 inc dword ptr (-4)[ebp] 255 L40: 256 mov edi,dword ptr (-4)[ebp] 257 cmp edi,5 258 jb L37 259 mov eax,0 260 L36: 261 mov esp,ebp 262 pop ebp 263 pop edi 264 pop esi 265 pop ebx 266 ret 267 _TEXT ends 268 extrn _printf:near 269 _TEXT segment 270 _TEXT ends 271 _TEXT segment 272 align 1 273 L41 label byte 274 db 37 275 db 100 276 db 32 277 db 37 278 db 100 279 db 32 280 db 37 281 db 100 282 db 32 283 db 37 284 db 115 285 db 10 286 db 0 287 align 1 288 L35 label byte 289 db 37 290 db 100 291 db 32 292 db 0 293 align 1 294 L25 label byte 295 db 37 296 db 115 297 db 10 298 db 0 299 align 1 300 L20 label byte 301 db 119 302 db 104 303 db 105 304 db 108 305 db 101 306 db 0 307 align 1 308 L19 label byte 309 db 101 310 db 108 311 db 115 312 db 101 313 db 0 314 align 1 315 L18 label byte 316 db 102 317 db 111 318 db 114 319 db 0 320 align 1 321 L17 label byte 322 db 105 323 db 102 324 db 0 325 align 1 326 L14 label byte 327 db 10 328 db 0 329 align 1 330 L13 label byte 331 db 32 332 db 37 333 db 100 334 db 0 335 _TEXT ends 336 end