switch.sbk (10680B)
1 .486 2 .model flat 3 extrn __fltused:near 4 extrn __ftol:near 5 public _main 6 _TEXT segment 7 _main: 8 push ebx 9 push esi 10 push edi 11 push ebp 12 mov ebp,esp 13 sub esp,8 14 lea edi,(L6) 15 mov dword ptr (-4)[ebp],edi 16 jmp L5 17 L2: 18 mov edi,dword ptr (-4)[ebp] 19 movsx edi,byte ptr [edi] 20 push edi 21 call _backslash 22 add esp,4 23 push eax 24 mov edi,dword ptr (-4)[ebp] 25 movsx edi,byte ptr [edi] 26 push edi 27 lea edi,(L7) 28 push edi 29 call _printf 30 add esp,12 31 L3: 32 inc dword ptr (-4)[ebp] 33 L5: 34 mov edi,dword ptr (-4)[ebp] 35 movsx edi,byte ptr [edi] 36 cmp edi,0 37 jne L2 38 call _f 39 add esp,0 40 call _g 41 add esp,0 42 call _h 43 add esp,0 44 mov dword ptr (-8)[ebp],16777216 45 jmp L11 46 L8: 47 mov edi,dword ptr (-8)[ebp] 48 push edi 49 call _big 50 add esp,4 51 L9: 52 add dword ptr (-8)[ebp],16777216 53 L11: 54 mov edi,dword ptr (-8)[ebp] 55 and edi,117440512 56 cmp edi,0 57 jne L8 58 call _limit 59 add esp,0 60 mov eax,0 61 L1: 62 mov esp,ebp 63 pop ebp 64 pop edi 65 pop esi 66 pop ebx 67 ret 68 public _backslash 69 _backslash: 70 push ebx 71 push esi 72 push edi 73 push ebp 74 mov ebp,esp 75 mov edi,dword ptr (20)[ebp] 76 cmp edi,102 77 je L16 78 cmp edi,102 79 jg L22 80 L21: 81 cmp dword ptr (20)[ebp],98 82 je L15 83 jmp L13 84 L22: 85 mov edi,dword ptr (20)[ebp] 86 cmp edi,110 87 je L17 88 cmp edi,110 89 jl L13 90 L23: 91 mov edi,dword ptr (20)[ebp] 92 cmp edi,114 93 je L18 94 cmp edi,116 95 je L19 96 cmp edi,118 97 je L20 98 jmp L13 99 L15: 100 mov eax,8 101 jmp L12 102 L16: 103 mov eax,12 104 jmp L12 105 L17: 106 mov eax,10 107 jmp L12 108 L18: 109 mov eax,13 110 jmp L12 111 L19: 112 mov eax,9 113 jmp L12 114 L20: 115 mov eax,11 116 jmp L12 117 L13: 118 mov eax,dword ptr (20)[ebp] 119 L12: 120 mov esp,ebp 121 pop ebp 122 pop edi 123 pop esi 124 pop ebx 125 ret 126 public _f 127 _f: 128 push ebx 129 push esi 130 push edi 131 push ebp 132 mov ebp,esp 133 sub esp,12 134 mov dword ptr (-8)[ebp],0 135 lea edi,(L25) 136 push edi 137 call _printf 138 add esp,4 139 mov dword ptr (-4)[ebp],0 140 L26: 141 mov edi,dword ptr (-4)[ebp] 142 mov dword ptr (-12)[ebp],edi 143 mov edi,dword ptr (-4)[ebp] 144 cmp edi,1 145 jl L30 146 cmp edi,20 147 jg L30 148 jmp dword ptr (L42-4)[edi*4] 149 _TEXT ends 150 _TEXT segment 151 align 4 152 L42 label byte 153 dd L32 154 dd L33 155 dd L30 156 dd L30 157 dd L30 158 dd L30 159 dd L34 160 dd L35 161 dd L36 162 dd L30 163 dd L30 164 dd L30 165 dd L30 166 dd L30 167 dd L30 168 dd L37 169 dd L38 170 dd L39 171 dd L40 172 dd L41 173 _TEXT ends 174 _TEXT segment 175 L32: 176 mov edi,dword ptr (-4)[ebp] 177 mov dword ptr (-8)[ebp],edi 178 jmp L31 179 L33: 180 mov edi,dword ptr (-4)[ebp] 181 mov dword ptr (-8)[ebp],edi 182 jmp L31 183 L34: 184 mov edi,dword ptr (-4)[ebp] 185 mov dword ptr (-8)[ebp],edi 186 jmp L31 187 L35: 188 mov edi,dword ptr (-4)[ebp] 189 mov dword ptr (-8)[ebp],edi 190 jmp L31 191 L36: 192 mov edi,dword ptr (-4)[ebp] 193 mov dword ptr (-8)[ebp],edi 194 jmp L31 195 L37: 196 mov edi,dword ptr (-4)[ebp] 197 mov dword ptr (-8)[ebp],edi 198 jmp L31 199 L38: 200 mov edi,dword ptr (-4)[ebp] 201 mov dword ptr (-8)[ebp],edi 202 jmp L31 203 L39: 204 mov edi,dword ptr (-4)[ebp] 205 mov dword ptr (-8)[ebp],edi 206 jmp L31 207 L40: 208 mov edi,dword ptr (-4)[ebp] 209 mov dword ptr (-8)[ebp],edi 210 jmp L31 211 L41: 212 mov edi,dword ptr (-4)[ebp] 213 mov dword ptr (-8)[ebp],edi 214 L30: 215 L31: 216 mov edi,dword ptr (-8)[ebp] 217 push edi 218 lea edi,(L44) 219 push edi 220 call _printf 221 add esp,8 222 L27: 223 inc dword ptr (-4)[ebp] 224 cmp dword ptr (-4)[ebp],20 225 jle L26 226 mov eax,0 227 L24: 228 mov esp,ebp 229 pop ebp 230 pop edi 231 pop esi 232 pop ebx 233 ret 234 public _g 235 _g: 236 push ebx 237 push esi 238 push edi 239 push ebp 240 mov ebp,esp 241 sub esp,4 242 lea edi,(L46) 243 push edi 244 call _printf 245 add esp,4 246 mov dword ptr (-4)[ebp],1 247 L47: 248 mov edi,dword ptr (-4)[ebp] 249 cmp edi,1001 250 jl L64 251 cmp edi,1004 252 jg L65 253 jmp dword ptr (L66-4004)[edi*4] 254 _TEXT ends 255 _TEXT segment 256 align 4 257 L66 label byte 258 dd L60 259 dd L60 260 dd L60 261 dd L60 262 _TEXT ends 263 _TEXT segment 264 L64: 265 mov edi,dword ptr (-4)[ebp] 266 cmp edi,1 267 jl L51 268 cmp edi,8 269 jg L51 270 jmp dword ptr (L68-4)[edi*4] 271 _TEXT ends 272 _TEXT segment 273 align 4 274 L68 label byte 275 dd L53 276 dd L53 277 dd L55 278 dd L55 279 dd L55 280 dd L57 281 dd L57 282 dd L57 283 _TEXT ends 284 _TEXT segment 285 L65: 286 mov edi,dword ptr (-4)[ebp] 287 cmp edi,3001 288 jl L51 289 cmp edi,3004 290 jg L51 291 jmp dword ptr (L70-12004)[edi*4] 292 _TEXT ends 293 _TEXT segment 294 align 4 295 L70 label byte 296 dd L62 297 dd L62 298 dd L62 299 dd L62 300 _TEXT ends 301 _TEXT segment 302 L53: 303 mov edi,dword ptr (-4)[ebp] 304 push edi 305 lea edi,(L54) 306 push edi 307 call _printf 308 add esp,8 309 jmp L52 310 L55: 311 mov edi,dword ptr (-4)[ebp] 312 push edi 313 lea edi,(L56) 314 push edi 315 call _printf 316 add esp,8 317 jmp L52 318 L57: 319 mov edi,dword ptr (-4)[ebp] 320 push edi 321 lea edi,(L58) 322 push edi 323 call _printf 324 add esp,8 325 L51: 326 mov edi,dword ptr (-4)[ebp] 327 push edi 328 lea edi,(L59) 329 push edi 330 call _printf 331 add esp,8 332 jmp L52 333 L60: 334 mov edi,dword ptr (-4)[ebp] 335 push edi 336 lea edi,(L61) 337 push edi 338 call _printf 339 add esp,8 340 jmp L52 341 L62: 342 mov edi,dword ptr (-4)[ebp] 343 push edi 344 lea edi,(L63) 345 push edi 346 call _printf 347 add esp,8 348 L52: 349 L48: 350 inc dword ptr (-4)[ebp] 351 cmp dword ptr (-4)[ebp],10 352 jle L47 353 mov eax,0 354 L45: 355 mov esp,ebp 356 pop ebp 357 pop edi 358 pop esi 359 pop ebx 360 ret 361 public _h 362 _h: 363 push ebx 364 push esi 365 push edi 366 push ebp 367 mov ebp,esp 368 sub esp,8 369 mov dword ptr (-8)[ebp],0 370 lea edi,(L73) 371 push edi 372 call _printf 373 add esp,4 374 mov dword ptr (-4)[ebp],1 375 L74: 376 mov edi,dword ptr (-4)[ebp] 377 cmp edi,264 378 je L86 379 cmp edi,264 380 jg L94 381 L93: 382 mov edi,dword ptr (-4)[ebp] 383 cmp edi,120 384 je L84 385 cmp edi,120 386 jg L96 387 L95: 388 mov edi,dword ptr (-4)[ebp] 389 cmp edi,8 390 je L83 391 cmp edi,8 392 jl L78 393 L97: 394 cmp dword ptr (-4)[ebp],16 395 je L82 396 jmp L78 397 L96: 398 mov edi,dword ptr (-4)[ebp] 399 cmp edi,128 400 je L80 401 cmp edi,128 402 jl L78 403 L98: 404 cmp dword ptr (-4)[ebp],248 405 je L87 406 jmp L78 407 L94: 408 mov edi,dword ptr (-4)[ebp] 409 cmp edi,288 410 je L91 411 cmp edi,288 412 jg L100 413 L99: 414 mov edi,dword ptr (-4)[ebp] 415 cmp edi,272 416 je L88 417 cmp edi,272 418 jl L78 419 L101: 420 cmp dword ptr (-4)[ebp],280 421 je L85 422 jmp L78 423 L100: 424 mov edi,dword ptr (-4)[ebp] 425 cmp edi,304 426 je L89 427 cmp edi,304 428 jg L103 429 L102: 430 cmp dword ptr (-4)[ebp],296 431 je L90 432 jmp L78 433 L103: 434 cmp dword ptr (-4)[ebp],312 435 je L92 436 jmp L78 437 L78: 438 inc dword ptr (-8)[ebp] 439 jmp L75 440 L80: 441 mov edi,dword ptr (-4)[ebp] 442 push edi 443 lea edi,(L81) 444 push edi 445 call _printf 446 add esp,8 447 jmp L79 448 L82: 449 mov edi,dword ptr (-4)[ebp] 450 push edi 451 lea edi,(L81) 452 push edi 453 call _printf 454 add esp,8 455 jmp L79 456 L83: 457 mov edi,dword ptr (-4)[ebp] 458 push edi 459 lea edi,(L81) 460 push edi 461 call _printf 462 add esp,8 463 jmp L79 464 L84: 465 mov edi,dword ptr (-4)[ebp] 466 push edi 467 lea edi,(L81) 468 push edi 469 call _printf 470 add esp,8 471 jmp L79 472 L85: 473 mov edi,dword ptr (-4)[ebp] 474 push edi 475 lea edi,(L81) 476 push edi 477 call _printf 478 add esp,8 479 jmp L79 480 L86: 481 mov edi,dword ptr (-4)[ebp] 482 push edi 483 lea edi,(L81) 484 push edi 485 call _printf 486 add esp,8 487 jmp L79 488 L87: 489 mov edi,dword ptr (-4)[ebp] 490 push edi 491 lea edi,(L81) 492 push edi 493 call _printf 494 add esp,8 495 jmp L79 496 L88: 497 mov edi,dword ptr (-4)[ebp] 498 push edi 499 lea edi,(L81) 500 push edi 501 call _printf 502 add esp,8 503 jmp L79 504 L89: 505 mov edi,dword ptr (-4)[ebp] 506 push edi 507 lea edi,(L81) 508 push edi 509 call _printf 510 add esp,8 511 jmp L79 512 L90: 513 mov edi,dword ptr (-4)[ebp] 514 push edi 515 lea edi,(L81) 516 push edi 517 call _printf 518 add esp,8 519 jmp L79 520 L91: 521 mov edi,dword ptr (-4)[ebp] 522 push edi 523 lea edi,(L81) 524 push edi 525 call _printf 526 add esp,8 527 jmp L79 528 L92: 529 mov edi,dword ptr (-4)[ebp] 530 push edi 531 lea edi,(L81) 532 push edi 533 call _printf 534 add esp,8 535 L79: 536 L75: 537 inc dword ptr (-4)[ebp] 538 cmp dword ptr (-4)[ebp],500 539 jle L74 540 mov edi,dword ptr (-8)[ebp] 541 push edi 542 lea edi,(L104) 543 push edi 544 call _printf 545 add esp,8 546 mov eax,0 547 L72: 548 mov esp,ebp 549 pop ebp 550 pop edi 551 pop esi 552 pop ebx 553 ret 554 public _big 555 _big: 556 push ebx 557 push esi 558 push edi 559 push ebp 560 mov ebp,esp 561 sub esp,4 562 mov edi,dword ptr (20)[ebp] 563 and edi,06000000H 564 mov dword ptr (-4)[ebp],edi 565 mov edi,dword ptr (-4)[ebp] 566 cmp edi,33554432 567 je L111 568 cmp edi,33554432 569 jg L115 570 L114: 571 mov edi,dword ptr (-4)[ebp] 572 cmp edi,-2 573 je L109 574 cmp edi,-1 575 je L109 576 cmp edi,0 577 je L109 578 jmp L106 579 L115: 580 mov edi,dword ptr (-4)[ebp] 581 cmp edi,67108864 582 je L112 583 jmp L106 584 L109: 585 mov edi,dword ptr (20)[ebp] 586 push edi 587 lea edi,(L110) 588 push edi 589 call _printf 590 add esp,8 591 jmp L107 592 L111: 593 mov edi,dword ptr (20)[ebp] 594 push edi 595 lea edi,(L110) 596 push edi 597 call _printf 598 add esp,8 599 jmp L107 600 L112: 601 mov edi,dword ptr (20)[ebp] 602 push edi 603 lea edi,(L110) 604 push edi 605 call _printf 606 add esp,8 607 jmp L107 608 L106: 609 mov edi,dword ptr (20)[ebp] 610 push edi 611 lea edi,(L113) 612 push edi 613 call _printf 614 add esp,8 615 L107: 616 mov eax,0 617 L105: 618 mov esp,ebp 619 pop ebp 620 pop edi 621 pop esi 622 pop ebx 623 ret 624 public _limit 625 _limit: 626 push ebx 627 push esi 628 push edi 629 push ebp 630 mov ebp,esp 631 sub esp,4 632 mov dword ptr (-4)[ebp],-2147483648 633 L117: 634 mov edi,dword ptr (-4)[ebp] 635 mov esi,-2147483648 636 cmp edi,-2147483648 637 jl L121 638 cmp edi,-2147483644 639 jg L121 640 lea edi,[edi*4] 641 lea esi,[esi*4] 642 sub edi,esi 643 jmp dword ptr (L134)[edi] 644 _TEXT ends 645 _TEXT segment 646 align 4 647 L134 label byte 648 dd L123 649 dd L125 650 dd L127 651 dd L129 652 dd L131 653 _TEXT ends 654 _TEXT segment 655 L123: 656 lea edi,(L124) 657 push edi 658 call _printf 659 add esp,4 660 jmp L122 661 L125: 662 lea edi,(L126) 663 push edi 664 call _printf 665 add esp,4 666 jmp L122 667 L127: 668 lea edi,(L128) 669 push edi 670 call _printf 671 add esp,4 672 jmp L122 673 L129: 674 lea edi,(L130) 675 push edi 676 call _printf 677 add esp,4 678 jmp L122 679 L131: 680 lea edi,(L132) 681 push edi 682 call _printf 683 add esp,4 684 jmp L122 685 L121: 686 lea edi,(L133) 687 push edi 688 call _printf 689 add esp,4 690 L122: 691 L118: 692 inc dword ptr (-4)[ebp] 693 cmp dword ptr (-4)[ebp],-2147483643 694 jle L117 695 mov dword ptr (-4)[ebp],2147483647 696 L135: 697 mov edi,dword ptr (-4)[ebp] 698 mov esi,2147483643 699 cmp edi,2147483643 700 jl L139 701 cmp edi,2147483647 702 jg L139 703 lea edi,[edi*4] 704 lea esi,[esi*4] 705 sub edi,esi 706 jmp dword ptr (L146)[edi] 707 _TEXT ends 708 _TEXT segment 709 align 4 710 L146 label byte 711 dd L145 712 dd L144 713 dd L143 714 dd L142 715 dd L141 716 _TEXT ends 717 _TEXT segment 718 L141: 719 lea edi,(L124) 720 push edi 721 call _printf 722 add esp,4 723 jmp L140 724 L142: 725 lea edi,(L126) 726 push edi 727 call _printf 728 add esp,4 729 jmp L140 730 L143: 731 lea edi,(L128) 732 push edi 733 call _printf 734 add esp,4 735 jmp L140 736 L144: 737 lea edi,(L130) 738 push edi 739 call _printf 740 add esp,4 741 jmp L140 742 L145: 743 lea edi,(L132) 744 push edi 745 call _printf 746 add esp,4 747 jmp L140 748 L139: 749 lea edi,(L133) 750 push edi 751 call _printf 752 add esp,4 753 L140: 754 L136: 755 dec dword ptr (-4)[ebp] 756 cmp dword ptr (-4)[ebp],2147483642 757 jge L135 758 mov eax,0 759 L116: 760 mov esp,ebp 761 pop ebp 762 pop edi 763 pop esi 764 pop ebx 765 ret 766 _TEXT ends 767 extrn _printf:near 768 _TEXT segment 769 _TEXT ends 770 _TEXT segment 771 align 1 772 L133 label byte 773 db 53 774 db 10 775 db 0 776 align 1 777 L132 label byte 778 db 52 779 db 10 780 db 0 781 align 1 782 L130 label byte 783 db 51 784 db 10 785 db 0 786 align 1 787 L128 label byte 788 db 50 789 db 10 790 db 0 791 align 1 792 L126 label byte 793 db 49 794 db 10 795 db 0 796 align 1 797 L124 label byte 798 db 48 799 db 10 800 db 0 801 align 1 802 L113 label byte 803 db 120 804 db 32 805 db 61 806 db 32 807 db 48 808 db 120 809 db 37 810 db 120 811 db 32 812 db 40 813 db 100 814 db 101 815 db 102 816 db 97 817 db 117 818 db 108 819 db 116 820 db 41 821 db 10 822 db 0 823 align 1 824 L110 label byte 825 db 120 826 db 32 827 db 61 828 db 32 829 db 48 830 db 120 831 db 37 832 db 120 833 db 10 834 db 0 835 align 1 836 L104 label byte 837 db 37 838 db 100 839 db 32 840 db 100 841 db 101 842 db 102 843 db 97 844 db 117 845 db 108 846 db 116 847 db 115 848 db 10 849 db 0 850 align 1 851 L81 label byte 852 db 105 853 db 32 854 db 61 855 db 32 856 db 37 857 db 100 858 db 10 859 db 0 860 align 1 861 L73 label byte 862 db 104 863 db 58 864 db 10 865 db 0 866 align 1 867 L63 label byte 868 db 54 869 db 32 870 db 37 871 db 100 872 db 10 873 db 0 874 align 1 875 L61 label byte 876 db 53 877 db 32 878 db 37 879 db 100 880 db 10 881 db 0 882 align 1 883 L59 label byte 884 db 100 885 db 32 886 db 37 887 db 100 888 db 10 889 db 0 890 align 1 891 L58 label byte 892 db 51 893 db 32 894 db 37 895 db 100 896 db 10 897 db 0 898 align 1 899 L56 label byte 900 db 50 901 db 32 902 db 37 903 db 100 904 db 10 905 db 0 906 align 1 907 L54 label byte 908 db 49 909 db 32 910 db 37 911 db 100 912 db 10 913 db 0 914 align 1 915 L46 label byte 916 db 103 917 db 58 918 db 10 919 db 0 920 align 1 921 L44 label byte 922 db 120 923 db 32 924 db 61 925 db 32 926 db 37 927 db 100 928 db 10 929 db 0 930 align 1 931 L25 label byte 932 db 102 933 db 58 934 db 10 935 db 0 936 align 1 937 L7 label byte 938 db 37 939 db 99 940 db 32 941 db 61 942 db 32 943 db 48 944 db 120 945 db 37 946 db 120 947 db 10 948 db 0 949 align 1 950 L6 label byte 951 db 98 952 db 102 953 db 110 954 db 114 955 db 116 956 db 118 957 db 120 958 db 0 959 _TEXT ends 960 end