Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

struct.sbk (5790B)


      1 .486
      2 .model flat
      3 extrn __fltused:near
      4 extrn __ftol:near
      5 public _addpoint
      6 _TEXT segment
      7 _addpoint:
      8 push ebx
      9 push esi
     10 push edi
     11 push ebp
     12 mov ebp,esp
     13 mov edi,dword ptr (32)[ebp]
     14 add dword ptr (24)[ebp],edi
     15 mov edi,dword ptr (36)[ebp]
     16 add dword ptr (28)[ebp],edi
     17 mov edi,dword ptr (20)[ebp]
     18 lea esi,(24)[ebp]
     19 mov ecx,8
     20 rep movsb
     21 L1:
     22 mov esp,ebp
     23 pop ebp
     24 pop edi
     25 pop esi
     26 pop ebx
     27 ret
     28 public _canonrect
     29 _canonrect:
     30 push ebx
     31 push esi
     32 push edi
     33 push ebp
     34 mov ebp,esp
     35 sub esp,32
     36 mov edi,dword ptr (32)[ebp]
     37 cmp dword ptr (24)[ebp],edi
     38 jge L10
     39 mov edi,dword ptr (24)[ebp]
     40 mov dword ptr (-20)[ebp],edi
     41 jmp L11
     42 L10:
     43 mov edi,dword ptr (32)[ebp]
     44 mov dword ptr (-20)[ebp],edi
     45 L11:
     46 mov edi,dword ptr (-20)[ebp]
     47 mov dword ptr (-16)[ebp],edi
     48 mov edi,dword ptr (36)[ebp]
     49 cmp dword ptr (28)[ebp],edi
     50 jge L20
     51 mov edi,dword ptr (28)[ebp]
     52 mov dword ptr (-24)[ebp],edi
     53 jmp L21
     54 L20:
     55 mov edi,dword ptr (36)[ebp]
     56 mov dword ptr (-24)[ebp],edi
     57 L21:
     58 mov edi,dword ptr (-24)[ebp]
     59 mov dword ptr (-12)[ebp],edi
     60 mov edi,dword ptr (32)[ebp]
     61 cmp dword ptr (24)[ebp],edi
     62 jle L26
     63 mov edi,dword ptr (24)[ebp]
     64 mov dword ptr (-28)[ebp],edi
     65 jmp L27
     66 L26:
     67 mov edi,dword ptr (32)[ebp]
     68 mov dword ptr (-28)[ebp],edi
     69 L27:
     70 mov edi,dword ptr (-28)[ebp]
     71 mov dword ptr (-8)[ebp],edi
     72 mov edi,dword ptr (36)[ebp]
     73 cmp dword ptr (28)[ebp],edi
     74 jle L37
     75 mov edi,dword ptr (28)[ebp]
     76 mov dword ptr (-32)[ebp],edi
     77 jmp L38
     78 L37:
     79 mov edi,dword ptr (36)[ebp]
     80 mov dword ptr (-32)[ebp],edi
     81 L38:
     82 mov edi,dword ptr (-32)[ebp]
     83 mov dword ptr (-4)[ebp],edi
     84 mov edi,dword ptr (20)[ebp]
     85 lea esi,(-16)[ebp]
     86 mov ecx,16
     87 rep movsb
     88 L5:
     89 mov esp,ebp
     90 pop ebp
     91 pop edi
     92 pop esi
     93 pop ebx
     94 ret
     95 public _makepoint
     96 _makepoint:
     97 push ebx
     98 push esi
     99 push edi
    100 push ebp
    101 mov ebp,esp
    102 sub esp,8
    103 mov edi,dword ptr (24)[ebp]
    104 mov dword ptr (-8)[ebp],edi
    105 mov edi,dword ptr (28)[ebp]
    106 mov dword ptr (-4)[ebp],edi
    107 mov edi,dword ptr (20)[ebp]
    108 lea esi,(-8)[ebp]
    109 mov ecx,8
    110 rep movsb
    111 L39:
    112 mov esp,ebp
    113 pop ebp
    114 pop edi
    115 pop esi
    116 pop ebx
    117 ret
    118 public _makerect
    119 _makerect:
    120 push ebx
    121 push esi
    122 push edi
    123 push ebp
    124 mov ebp,esp
    125 sub esp,16
    126 lea edi,(-16)[ebp]
    127 lea esi,(24)[ebp]
    128 mov ecx,8
    129 rep movsb
    130 lea edi,(-8)[ebp]
    131 lea esi,(32)[ebp]
    132 mov ecx,8
    133 rep movsb
    134 lea esi,(-16)[ebp]
    135 sub esp,16
    136 mov edi,esp
    137 mov ecx,16
    138 rep movsb
    139 mov edi,dword ptr (20)[ebp]
    140 push edi
    141 call _canonrect
    142 add esp,20
    143 L42:
    144 mov esp,ebp
    145 pop ebp
    146 pop edi
    147 pop esi
    148 pop ebx
    149 ret
    150 public _ptinrect
    151 _ptinrect:
    152 push ebx
    153 push esi
    154 push edi
    155 push ebp
    156 mov ebp,esp
    157 sub esp,4
    158 mov edi,dword ptr (20)[ebp]
    159 cmp edi,dword ptr (28)[ebp]
    160 jl L53
    161 cmp edi,dword ptr (36)[ebp]
    162 jge L53
    163 mov edi,dword ptr (32)[ebp]
    164 cmp dword ptr (24)[ebp],edi
    165 jl L53
    166 mov edi,dword ptr (40)[ebp]
    167 cmp dword ptr (24)[ebp],edi
    168 jge L53
    169 mov dword ptr (-4)[ebp],1
    170 jmp L54
    171 L53:
    172 mov dword ptr (-4)[ebp],0
    173 L54:
    174 mov eax,dword ptr (-4)[ebp]
    175 L45:
    176 mov esp,ebp
    177 pop ebp
    178 pop edi
    179 pop esi
    180 pop ebx
    181 ret
    182 _TEXT ends
    183 _DATA segment
    184 public _y
    185 align 4
    186 _y label byte
    187 db 97
    188 db 98
    189 db 0
    190 db 1 dup (0)
    191 public _odd
    192 _DATA ends
    193 _TEXT segment
    194 _odd:
    195 push ebx
    196 push esi
    197 push edi
    198 push ebp
    199 mov ebp,esp
    200 sub esp,4
    201 lea edi,(-4)[ebp]
    202 lea esi,(20)[ebp]
    203 mov ecx,4
    204 rep movsb
    205 lea edi,(-4)[ebp]
    206 push edi
    207 lea edi,(L56)
    208 push edi
    209 call _printf
    210 add esp,8
    211 mov eax,0
    212 L55:
    213 mov esp,ebp
    214 pop ebp
    215 pop edi
    216 pop esi
    217 pop ebx
    218 ret
    219 _TEXT ends
    220 _TEXT segment
    221 align 4
    222 L58 label byte
    223 dd 0
    224 dd 0
    225 align 4
    226 L59 label byte
    227 dd 320
    228 dd 320
    229 align 4
    230 L60 label byte
    231 dd -1
    232 dd -1
    233 dd 1
    234 dd 1
    235 dd 20
    236 dd 300
    237 dd 500
    238 dd 400
    239 public _main
    240 _TEXT ends
    241 _TEXT segment
    242 _main:
    243 push ebx
    244 push esi
    245 push edi
    246 push ebp
    247 mov ebp,esp
    248 sub esp,108
    249 lea edi,(-68)[ebp]
    250 lea esi,(L58)
    251 mov ecx,8
    252 rep movsb
    253 lea edi,(-76)[ebp]
    254 lea esi,(L59)
    255 mov ecx,8
    256 rep movsb
    257 lea edi,(-36)[ebp]
    258 lea esi,(L60)
    259 mov ecx,32
    260 rep movsb
    261 push -10
    262 push -10
    263 lea edi,(-84)[ebp]
    264 push edi
    265 call _makepoint
    266 add esp,12
    267 lea esi,(-84)[ebp]
    268 sub esp,8
    269 mov edi,esp
    270 mov ecx,8
    271 rep movsb
    272 lea esi,(-76)[ebp]
    273 sub esp,8
    274 mov edi,esp
    275 mov ecx,8
    276 rep movsb
    277 lea edi,(-92)[ebp]
    278 push edi
    279 call _addpoint
    280 add esp,20
    281 push 10
    282 push 10
    283 lea edi,(-100)[ebp]
    284 push edi
    285 call _makepoint
    286 add esp,12
    287 lea esi,(-100)[ebp]
    288 sub esp,8
    289 mov edi,esp
    290 mov ecx,8
    291 rep movsb
    292 lea esi,(-68)[ebp]
    293 sub esp,8
    294 mov edi,esp
    295 mov ecx,8
    296 rep movsb
    297 lea edi,(-108)[ebp]
    298 push edi
    299 call _addpoint
    300 add esp,20
    301 lea esi,(-108)[ebp]
    302 sub esp,8
    303 mov edi,esp
    304 mov ecx,8
    305 rep movsb
    306 lea esi,(-92)[ebp]
    307 sub esp,8
    308 mov edi,esp
    309 mov ecx,8
    310 rep movsb
    311 lea edi,(-52)[ebp]
    312 push edi
    313 call _makerect
    314 add esp,20
    315 mov dword ptr (-4)[ebp],0
    316 jmp L64
    317 L61:
    318 mov edi,dword ptr (-4)[ebp]
    319 lea edi,[edi*8]
    320 mov esi,dword ptr (-32)[ebp][edi]
    321 push esi
    322 mov edi,dword ptr (-36)[ebp][edi]
    323 push edi
    324 lea edi,(-60)[ebp]
    325 push edi
    326 call _makepoint
    327 add esp,12
    328 mov edi,dword ptr (-56)[ebp]
    329 push edi
    330 mov edi,dword ptr (-4)[ebp]
    331 mov edi,dword ptr (-36)[ebp][edi*8]
    332 push edi
    333 lea edi,(L65)
    334 push edi
    335 call _printf
    336 add esp,12
    337 lea esi,(-52)[ebp]
    338 sub esp,16
    339 mov edi,esp
    340 mov ecx,16
    341 rep movsb
    342 lea esi,(-60)[ebp]
    343 sub esp,8
    344 mov edi,esp
    345 mov ecx,8
    346 rep movsb
    347 call _ptinrect
    348 add esp,24
    349 cmp eax,0
    350 jne L68
    351 lea edi,(L70)
    352 push edi
    353 call _printf
    354 add esp,4
    355 L68:
    356 mov edi,dword ptr (-40)[ebp]
    357 push edi
    358 mov edi,dword ptr (-44)[ebp]
    359 push edi
    360 mov edi,dword ptr (-48)[ebp]
    361 push edi
    362 mov edi,dword ptr (-52)[ebp]
    363 push edi
    364 lea edi,(L71)
    365 push edi
    366 call _printf
    367 add esp,20
    368 L62:
    369 inc dword ptr (-4)[ebp]
    370 L64:
    371 mov edi,dword ptr (-4)[ebp]
    372 cmp edi,4
    373 jb L61
    374 lea esi,(_y)
    375 sub esp,4
    376 mov edi,esp
    377 mov ecx,4
    378 rep movsb
    379 call _odd
    380 add esp,4
    381 push 0
    382 call _exit
    383 add esp,4
    384 mov eax,0
    385 L57:
    386 mov esp,ebp
    387 pop ebp
    388 pop edi
    389 pop esi
    390 pop ebx
    391 ret
    392 _TEXT ends
    393 extrn _exit:near
    394 _TEXT segment
    395 _TEXT ends
    396 extrn _printf:near
    397 _TEXT segment
    398 _TEXT ends
    399 _TEXT segment
    400 align 1
    401 L71 label byte
    402 db 119
    403 db 105
    404 db 116
    405 db 104
    406 db 105
    407 db 110
    408 db 32
    409 db 91
    410 db 37
    411 db 100
    412 db 44
    413 db 37
    414 db 100
    415 db 59
    416 db 32
    417 db 37
    418 db 100
    419 db 44
    420 db 37
    421 db 100
    422 db 93
    423 db 10
    424 db 0
    425 align 1
    426 L70 label byte
    427 db 110
    428 db 111
    429 db 116
    430 db 32
    431 db 0
    432 align 1
    433 L65 label byte
    434 db 40
    435 db 37
    436 db 100
    437 db 44
    438 db 37
    439 db 100
    440 db 41
    441 db 32
    442 db 105
    443 db 115
    444 db 32
    445 db 0
    446 align 1
    447 L56 label byte
    448 db 37
    449 db 115
    450 db 10
    451 db 0
    452 _TEXT ends
    453 end