home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / mp / mpi-386d.s < prev    next >
Encoding:
Text File  |  1994-04-25  |  33.8 KB  |  2,304 lines

  1.     .file    "mpi.c"
  2. gcc2_compiled.:
  3. ___gnu_compiled_c:
  4. .text
  5.     .align 4
  6. .globl _mulsi
  7. _mulsi:
  8.     pushl %ebp
  9.     movl %esp,%ebp
  10.     subl $20,%esp
  11.     pushl %edi
  12.     pushl %esi
  13.     pushl %ebx
  14.     movl 12(%ebp),%ebx
  15.     movl 4(%ebx),%ecx
  16.     sarl $24,%ecx
  17.     movl %ecx,-8(%ebp)
  18.     movzwl 4(%ebx),%edx
  19.     movl %edx,-12(%ebp)
  20.     cmpl $0,8(%ebp)
  21.     je L3
  22.     testl %ecx,%ecx
  23.     jne L2
  24. L3:
  25.     movl _gzero,%eax
  26.     jmp L13
  27.     .align 4,0x90
  28. L2:
  29.     cmpl $0,8(%ebp)
  30.     jge L4
  31.     negl -8(%ebp)
  32.     negl 8(%ebp)
  33.     jns L4
  34.     pushl %ebx
  35.     pushl $-2147483648
  36.     call _stoi
  37.     addl $4,%esp
  38.     pushl %eax
  39.     call _mulii
  40.     jmp L13
  41.     .align 4,0x90
  42. L4:
  43.     movl -12(%ebp),%eax
  44.     incl %eax
  45.     pushl %eax
  46.     call _cgeti
  47.     movl %eax,-16(%ebp)
  48.     movl $0,-4(%ebp)
  49.     movl -12(%ebp),%ecx
  50.     leal 0(,%ecx,4),%eax
  51.     addl %eax,%ebx
  52.     movl %ebx,-20(%ebp)
  53.     movl -16(%ebp),%edx
  54.     leal 4(%eax,%edx),%esi
  55.     addl $4,%esp
  56.     movl %ecx,%edi
  57.     addl $-2,%edi
  58.     je L7
  59.     .align 2,0x90
  60. L10:
  61.     addl $-4,%esi
  62.     movl -4(%ebp),%ebx
  63.     leal -4(%ebp),%eax
  64.     pushl %eax
  65.     addl $-4,-20(%ebp)
  66.     movl -20(%ebp),%ecx
  67.     movl (%ecx),%ecx
  68.     pushl %ecx
  69.     movl 8(%ebp),%edx
  70.     pushl %edx
  71.     call _mulul3
  72.     addl %ebx,%eax
  73.     cmpl %ebx,%eax
  74.     jae L9
  75.     incl -4(%ebp)
  76. L9:
  77.     movl %eax,(%esi)
  78.     addl $12,%esp
  79.     decl %edi
  80.     jne L10
  81. L7:
  82.     cmpl $0,-4(%ebp)
  83.     je L11
  84.     movl -4(%ebp),%ecx
  85.     movl %ecx,-4(%esi)
  86.     movl -16(%ebp),%edx
  87.     movl 4(%edx),%eax
  88.     andl $-65536,%eax
  89.     movl -12(%ebp),%ecx
  90.     leal 1(%ecx,%eax),%eax
  91.     movl %eax,4(%edx)
  92.     jmp L12
  93.     .align 4,0x90
  94. L11:
  95.     addl $4,_avma
  96.     movl -16(%ebp),%edx
  97.     movl (%edx),%ecx
  98.     decl %ecx
  99.     movl %ecx,4(%edx)
  100.     addl $4,%edx
  101.     movl %edx,-16(%ebp)
  102.     movw -12(%ebp),%cx
  103.     movw %cx,4(%edx)
  104. L12:
  105.     movb -8(%ebp),%dl
  106.     movl -16(%ebp),%ecx
  107.     movb %dl,7(%ecx)
  108.     movl -16(%ebp),%eax
  109. L13:
  110.     leal -32(%ebp),%esp
  111.     popl %ebx
  112.     popl %esi
  113.     popl %edi
  114.     movl %ebp,%esp
  115.     popl %ebp
  116.     ret
  117.     .align 4
  118. .globl _expi
  119. _expi:
  120.     pushl %ebp
  121.     movl %esp,%ebp
  122.     pushl %ebx
  123.     movl 8(%ebp),%eax
  124.     movzwl 4(%eax),%ebx
  125.     cmpl $2,%ebx
  126.     je L15
  127.     movl 8(%eax),%eax
  128.     pushl %eax
  129.     call _bfffo
  130.     leal -2(%ebx),%edx
  131.     sall $5,%edx
  132.     subl %eax,%edx
  133.     decl %edx
  134.     jmp L16
  135.     .align 4,0x90
  136. L15:
  137.     movl $-8388608,%edx
  138. L16:
  139.     movl %edx,%eax
  140.     movl -4(%ebp),%ebx
  141.     movl %ebp,%esp
  142.     popl %ebp
  143.     ret
  144.     .align 4
  145. .globl _addsi
  146. _addsi:
  147.     pushl %ebp
  148.     movl %esp,%ebp
  149.     subl $12,%esp
  150.     pushl %edi
  151.     pushl %esi
  152.     pushl %ebx
  153.     movl 8(%ebp),%esi
  154.     movl 12(%ebp),%edi
  155.     testl %esi,%esi
  156.     jne L18
  157.     pushl %edi
  158.     call _icopy
  159.     jmp L60
  160.     .align 4,0x90
  161. L18:
  162.     movl 4(%edi),%ebx
  163.     sarl $24,%ebx
  164.     movl %ebx,-8(%ebp)
  165.     jne L19
  166.     pushl %esi
  167.     call _stoi
  168.     jmp L60
  169.     .align 4,0x90
  170. L19:
  171.     testl %esi,%esi
  172.     jge L20
  173.     movl $-1,-4(%ebp)
  174.     negl %esi
  175.     jns L22
  176.     pushl %edi
  177.     pushl $_MOST_NEGS
  178.     call _addii
  179.     jmp L60
  180.     .align 4,0x90
  181. L20:
  182.     movl $1,-4(%ebp)
  183. L22:
  184.     movzwl 4(%edi),%ebx
  185.     movl %ebx,-12(%ebp)
  186.     movl -8(%ebp),%ebx
  187.     cmpl %ebx,-4(%ebp)
  188.     jne L23
  189.     movl %esi,%edx
  190.     movl %edx,%eax
  191.     movl -12(%ebp),%ebx
  192.     addl -4(%edi,%ebx,4),%eax
  193.     movl %eax,%esi
  194.     cmpl %edx,%eax
  195.     jae L24
  196.     movl %ebx,%eax
  197.     incl %eax
  198.     pushl %eax
  199.     call _cgeti
  200.     movl %eax,%ecx
  201.     movl %esi,(%ecx,%ebx,4)
  202.     movl %ebx,%edx
  203.     jmp L61
  204.     .align 4,0x90
  205.     .align 2,0x90
  206. L28:
  207.     movl $0,(%ecx,%edx,4)
  208. L61:
  209.     decl %edx
  210.     cmpl $2,%edx
  211.     jle L29
  212.     cmpl $-1,-4(%edi,%edx,4)
  213.     je L28
  214.     cmpl $2,%edx
  215.     jle L29
  216.     movl -4(%edi,%edx,4),%ebx
  217.     incl %ebx
  218.     jmp L62
  219.     .align 4,0x90
  220.     .align 2,0x90
  221. L32:
  222.     movl -4(%edi,%edx,4),%ebx
  223. L62:
  224.     movl %ebx,(%ecx,%edx,4)
  225.     decl %edx
  226.     cmpl $2,%edx
  227.     jg L32
  228.     movl (%ecx),%eax
  229.     decl %eax
  230.     movl %eax,4(%ecx)
  231.     movl %eax,8(%ecx)
  232.     addl $4,%ecx
  233.     addl $4,_avma
  234.     jmp L34
  235.     .align 4,0x90
  236. L29:
  237.     movl $1,8(%ecx)
  238.     movl (%ecx),%ebx
  239.     movl %ebx,4(%ecx)
  240.     jmp L34
  241.     .align 4,0x90
  242. L24:
  243.     movl -12(%ebp),%ebx
  244.     pushl %ebx
  245.     call _cgeti
  246.     movl %eax,%ecx
  247.     movl %esi,-4(%ecx,%ebx,4)
  248.     movl $1,%edx
  249.     movl %ebx,%eax
  250.     decl %eax
  251.     movl %eax,%esi
  252.     cmpl %eax,%edx
  253.     jge L34
  254.     .align 2,0x90
  255. L38:
  256.     movl (%edi,%edx,4),%ebx
  257.     movl %ebx,(%ecx,%edx,4)
  258.     incl %edx
  259.     cmpl %esi,%edx
  260.     jl L38
  261. L34:
  262.     movb -4(%ebp),%bl
  263.     movb %bl,7(%ecx)
  264.     jmp L39
  265.     .align 4,0x90
  266. L23:
  267.     cmpl $3,-12(%ebp)
  268.     jne L40
  269.     cmpl %esi,8(%edi)
  270.     jbe L41
  271.     pushl $3
  272.     call _cgeti
  273.     movl %eax,%ecx
  274.     movl -8(%ebp),%eax
  275.     sall $24,%eax
  276.     addl $3,%eax
  277.     movl %eax,4(%ecx)
  278.     movl 8(%edi),%edi
  279.     subl %esi,%edi
  280.     movl %edi,8(%ecx)
  281.     jmp L39
  282.     .align 4,0x90
  283. L41:
  284.     cmpl %esi,8(%edi)
  285.     jne L42
  286.     movl _gzero,%eax
  287.     jmp L60
  288.     .align 4,0x90
  289. L42:
  290.     pushl $3
  291.     call _cgeti
  292.     movl %eax,%ecx
  293.     movl -8(%ebp),%eax
  294.     negl %eax
  295.     sall $24,%eax
  296.     addl $3,%eax
  297.     movl %eax,4(%ecx)
  298.     subl 8(%edi),%esi
  299.     movl %esi,8(%ecx)
  300.     jmp L39
  301.     .align 4,0x90
  302. L40:
  303.     movl -12(%ebp),%ebx
  304.     movl -4(%edi,%ebx,4),%edx
  305.     movl %esi,%eax
  306.     movl %edx,%esi
  307.     subl %eax,%esi
  308.     cmpl %eax,%edx
  309.     jae L43
  310.     pushl %ebx
  311.     call _cgeti
  312.     movl %eax,%ecx
  313.     movl %esi,-4(%ecx,%ebx,4)
  314.     movl %ebx,%edx
  315.     addl $-2,%edx
  316.     cmpl $0,(%edi,%edx,4)
  317.     jne L45
  318.     .align 2,0x90
  319. L47:
  320.     movl $-1,(%ecx,%edx,4)
  321.     decl %edx
  322.     cmpl $0,(%edi,%edx,4)
  323.     je L47
  324. L45:
  325.     movl (%edi,%edx,4),%eax
  326.     decl %eax
  327.     movl %eax,(%ecx,%edx,4)
  328.     cmpl $2,%edx
  329.     jg L49
  330.     testl %eax,%eax
  331.     je L48
  332. L49:
  333.     decl %edx
  334.     testl %edx,%edx
  335.     jle L39
  336.     .align 2,0x90
  337. L53:
  338.     movl (%edi,%edx,4),%ebx
  339.     movl %ebx,(%ecx,%edx,4)
  340.     decl %edx
  341.     testl %edx,%edx
  342.     jg L53
  343.     jmp L39
  344.     .align 4,0x90
  345. L48:
  346.     movl (%ecx),%eax
  347.     decl %eax
  348.     movl %eax,4(%ecx)
  349.     movl %eax,8(%ecx)
  350.     addl $4,%ecx
  351.     addl $4,_avma
  352.     movb -8(%ebp),%bl
  353.     movb %bl,7(%ecx)
  354.     jmp L39
  355.     .align 4,0x90
  356. L43:
  357.     movl -12(%ebp),%ebx
  358.     pushl %ebx
  359.     call _cgeti
  360.     movl %eax,%ecx
  361.     movl %esi,-4(%ecx,%ebx,4)
  362.     movl $1,%edx
  363.     movl %ebx,%eax
  364.     decl %eax
  365.     movl %eax,%esi
  366.     cmpl %eax,%edx
  367.     jge L39
  368.     .align 2,0x90
  369. L59:
  370.     movl (%edi,%edx,4),%ebx
  371.     movl %ebx,(%ecx,%edx,4)
  372.     incl %edx
  373.     cmpl %esi,%edx
  374.     jl L59
  375. L39:
  376.     movl %ecx,%eax
  377. L60:
  378.     leal -24(%ebp),%esp
  379.     popl %ebx
  380.     popl %esi
  381.     popl %edi
  382.     movl %ebp,%esp
  383.     popl %ebp
  384.     ret
  385.     .align 4
  386. .globl _addii
  387. _addii:
  388.     pushl %ebp
  389.     movl %esp,%ebp
  390.     subl $32,%esp
  391.     pushl %edi
  392.     pushl %esi
  393.     pushl %ebx
  394.     movl 12(%ebp),%edi
  395.     movl 8(%ebp),%edx
  396.     movzwl 4(%edx),%edx
  397.     movl %edx,-8(%ebp)
  398.     movzwl 4(%edi),%ecx
  399.     movl %ecx,-12(%ebp)
  400.     cmpl %ecx,%edx
  401.     jge L64
  402.     movl 8(%ebp),%edx
  403.     movl %edx,-16(%ebp)
  404.     movl %edi,8(%ebp)
  405.     movl -16(%ebp),%edi
  406.     movl -8(%ebp),%ecx
  407.     movl %ecx,-4(%ebp)
  408.     movl -12(%ebp),%edx
  409.     movl %edx,-8(%ebp)
  410.     movl %ecx,-12(%ebp)
  411. L64:
  412.     movl 4(%edi),%esi
  413.     sarl $24,%esi
  414.     jne L65
  415.     movl 8(%ebp),%ecx
  416.     pushl %ecx
  417.     call _icopy
  418.     jmp L119
  419.     .align 4,0x90
  420. L65:
  421.     movl 8(%ebp),%edx
  422.     movl 4(%edx),%ecx
  423.     sarl $24,%ecx
  424.     movl %ecx,-4(%ebp)
  425.     cmpl %esi,%ecx
  426.     jne L66
  427.     movl -8(%ebp),%eax
  428.     incl %eax
  429.     pushl %eax
  430.     call _cgeti
  431.     movl %eax,-16(%ebp)
  432.     movl $0,-24(%ebp)
  433.     movl -8(%ebp),%edx
  434.     leal 0(,%edx,4),%eax
  435.     movl -16(%ebp),%ecx
  436.     leal 4(%eax,%ecx),%esi
  437.     movl 8(%ebp),%ebx
  438.     addl %eax,%ebx
  439.     movl -12(%ebp),%edx
  440.     leal (%edi,%edx,4),%edi
  441.     movl %edi,-20(%ebp)
  442.     movl %edx,%edi
  443.     addl $-2,%edi
  444.     je L68
  445.     .align 2,0x90
  446. L71:
  447.     addl $-4,%esi
  448.     addl $-4,%ebx
  449.     movl (%ebx),%ecx
  450.     movl %ecx,-28(%ebp)
  451.     addl $-4,-20(%ebp)
  452.     movl -20(%ebp),%edx
  453.     addl (%edx),%ecx
  454.     movl %ecx,-32(%ebp)
  455.     movl -28(%ebp),%edx
  456.     cmpl %edx,%ecx
  457.     jae L69
  458.     movl -24(%ebp),%edx
  459.     addl %edx,%ecx
  460.     movl %ecx,-32(%ebp)
  461.     movl $1,-24(%ebp)
  462.     movl %ecx,(%esi)
  463.     jmp L67
  464.     .align 4,0x90
  465. L69:
  466.     movl -24(%ebp),%ecx
  467.     addl %ecx,-32(%ebp)
  468.     cmpl %ecx,-32(%ebp)
  469.     setb %al
  470.     andl $255,%eax
  471.     movl %eax,-24(%ebp)
  472.     movl -32(%ebp),%edx
  473.     movl %edx,(%esi)
  474. L67:
  475.     decl %edi
  476.     jne L71
  477. L68:
  478.     cmpl $0,-24(%ebp)
  479.     je L72
  480.     movl 8(%ebp),%edi
  481.     addl $8,%edi
  482. L73:
  483.     addl $-4,%ebx
  484.     movl %ebx,%eax
  485.     cmpl %edi,%ebx
  486.     jb L74
  487.     cmpl $-1,(%ebx)
  488.     jne L75
  489.     addl $-4,%esi
  490.     movl $0,(%esi)
  491.     jmp L73
  492.     .align 4,0x90
  493. L75:
  494.     addl $-4,%esi
  495.     movl (%eax),%eax
  496.     incl %eax
  497.     jmp L121
  498.     .align 4,0x90
  499.     .align 2,0x90
  500. L79:
  501.     addl $-4,%esi
  502.     movl (%eax),%eax
  503. L121:
  504.     movl %eax,(%esi)
  505.     addl $-4,%ebx
  506.     movl %ebx,%eax
  507.     cmpl %edi,%ebx
  508.     jae L79
  509.     movl -16(%ebp),%ecx
  510.     movl (%ecx),%edx
  511.     decl %edx
  512.     movl %edx,4(%ecx)
  513.     movl 8(%ebp),%ecx
  514.     movl 4(%ecx),%edx
  515.     movl -16(%ebp),%ecx
  516.     movl %edx,8(%ecx)
  517.     addl $4,%ecx
  518.     movl %ecx,-16(%ebp)
  519.     addl $4,_avma
  520.     jmp L85
  521.     .align 4,0x90
  522. L74:
  523.     movl -16(%ebp),%ecx
  524.     movl $1,8(%ecx)
  525.     movl 8(%ebp),%ecx
  526.     movl 4(%ecx),%edx
  527.     incl %edx
  528.     movl -16(%ebp),%ecx
  529.     movl %edx,4(%ecx)
  530.     jmp L85
  531.     .align 4,0x90
  532. L72:
  533.     movl -8(%ebp),%eax
  534.     subl -12(%ebp),%eax
  535.     je L83
  536.     .align 2,0x90
  537. L84:
  538.     addl $-4,%esi
  539.     addl $-4,%ebx
  540.     movl (%ebx),%ecx
  541.     movl %ecx,(%esi)
  542.     decl %eax
  543.     jne L84
  544. L83:
  545.     movl -16(%ebp),%edx
  546.     movl (%edx),%ecx
  547.     decl %ecx
  548.     movl %ecx,4(%edx)
  549.     movl 8(%ebp),%edx
  550.     movl 4(%edx),%ecx
  551.     movl -16(%ebp),%edx
  552.     movl %ecx,8(%edx)
  553.     addl $4,%edx
  554.     movl %edx,-16(%ebp)
  555.     addl $4,_avma
  556.     jmp L85
  557.     .align 4,0x90
  558. L66:
  559.     movl -12(%ebp),%edx
  560.     cmpl %edx,-8(%ebp)
  561.     jne L86
  562.     movl 8(%ebp),%ebx
  563.     addl $8,%ebx
  564.     leal 8(%edi),%ecx
  565.     movl %ecx,-20(%ebp)
  566.     movl -8(%ebp),%eax
  567.     addl $-2,%eax
  568.     je L94
  569.     .align 2,0x90
  570. L93:
  571.     movl (%ebx),%edx
  572.     movl %edx,-28(%ebp)
  573.     addl $4,%ebx
  574.     movl -20(%ebp),%ecx
  575.     movl (%ecx),%ecx
  576.     movl %ecx,-32(%ebp)
  577.     addl $4,-20(%ebp)
  578.     cmpl %edx,%ecx
  579.     ja L120
  580.     cmpl %ecx,%edx
  581.     ja L86
  582.     decl %eax
  583.     jne L93
  584. L94:
  585.     movl _gzero,%eax
  586.     jmp L119
  587.     .align 4,0x90
  588. L120:
  589.     movl 8(%ebp),%edx
  590.     movl %edx,-16(%ebp)
  591.     movl %edi,8(%ebp)
  592.     movl -16(%ebp),%edi
  593.     movl %esi,-4(%ebp)
  594. L86:
  595.     movl -8(%ebp),%ecx
  596.     pushl %ecx
  597.     call _cgeti
  598.     movl %eax,-16(%ebp)
  599.     movl $0,-24(%ebp)
  600.     movl -8(%ebp),%edx
  601.     leal 0(,%edx,4),%eax
  602.     movl 8(%ebp),%ebx
  603.     addl %eax,%ebx
  604.     movl -12(%ebp),%ecx
  605.     leal (%edi,%ecx,4),%edi
  606.     movl %edi,-20(%ebp)
  607.     movl -16(%ebp),%esi
  608.     addl %eax,%esi
  609.     movl %ecx,%edi
  610.     addl $-2,%edi
  611.     je L96
  612.     .align 2,0x90
  613. L101:
  614.     addl $-4,%esi
  615.     addl $-4,%ebx
  616.     movl (%ebx),%edx
  617.     movl %edx,-28(%ebp)
  618.     addl $-4,-20(%ebp)
  619.     movl -20(%ebp),%ecx
  620.     movl (%ecx),%eax
  621.     subl %eax,%edx
  622.     movl -24(%ebp),%ecx
  623.     subl %ecx,%edx
  624.     movl %edx,-32(%ebp)
  625.     cmpl %eax,-28(%ebp)
  626.     jae L97
  627.     movl $1,-24(%ebp)
  628.     jmp L98
  629.     .align 4,0x90
  630. L97:
  631.     cmpl %eax,-28(%ebp)
  632.     jbe L98
  633.     movl $0,-24(%ebp)
  634. L98:
  635.     movl -32(%ebp),%edx
  636.     movl %edx,(%esi)
  637.     decl %edi
  638.     jne L101
  639. L96:
  640.     cmpl $0,-24(%ebp)
  641.     je L102
  642.     jmp L122
  643.     .align 4,0x90
  644.     .align 2,0x90
  645. L105:
  646.     addl $-4,%esi
  647.     movl $-1,(%esi)
  648. L122:
  649.     addl $-4,%ebx
  650.     movl (%ebx),%eax
  651.     testl %eax,%eax
  652.     je L105
  653.     movl 8(%ebp),%edi
  654.     addl $8,%edi
  655.     cmpl %edi,%ebx
  656.     jb L110
  657.     addl $-4,%esi
  658.     decl %eax
  659.     movl %eax,(%esi)
  660.     addl $-4,%ebx
  661.     movl %ebx,%eax
  662.     cmpl %edi,%ebx
  663.     jb L110
  664.     .align 2,0x90
  665. L109:
  666.     addl $-4,%esi
  667.     movl (%eax),%eax
  668.     movl %eax,(%esi)
  669.     addl $-4,%ebx
  670.     movl %ebx,%eax
  671.     cmpl %edi,%ebx
  672.     jae L109
  673.     jmp L110
  674.     .align 4,0x90
  675. L102:
  676.     movl -8(%ebp),%edi
  677.     subl -12(%ebp),%edi
  678.     je L110
  679.     .align 2,0x90
  680. L113:
  681.     addl $-4,%esi
  682.     addl $-4,%ebx
  683.     movl (%ebx),%ecx
  684.     movl %ecx,(%esi)
  685.     decl %edi
  686.     jne L113
  687. L110:
  688.     movl -16(%ebp),%edx
  689.     cmpl $0,8(%edx)
  690.     je L114
  691.     movl 8(%ebp),%ecx
  692.     movl 4(%ecx),%ecx
  693.     movl %ecx,4(%edx)
  694.     jmp L85
  695.     .align 4,0x90
  696. L114:
  697.     movl -16(%ebp),%esi
  698.     addl $12,%esi
  699.     movl -16(%ebp),%edx
  700.     cmpl $0,12(%edx)
  701.     jne L117
  702.     .align 2,0x90
  703. L118:
  704.     addl $4,%esi
  705.     cmpl $0,(%esi)
  706.     je L118
  707. L117:
  708.     addl $-8,%esi
  709.     movl %esi,%edi
  710.     subl -16(%ebp),%edi
  711.     sarl $2,%edi
  712.     movl -16(%ebp),%ecx
  713.     movl (%ecx),%eax
  714.     subl %edi,%eax
  715.     movl %eax,(%esi)
  716.     movl %eax,4(%esi)
  717.     movl %esi,-16(%ebp)
  718.     movb -4(%ebp),%dl
  719.     movb %dl,7(%esi)
  720.     leal 0(,%edi,4),%eax
  721.     addl %eax,_avma
  722. L85:
  723.     movl -16(%ebp),%eax
  724. L119:
  725.     leal -44(%ebp),%esp
  726.     popl %ebx
  727.     popl %esi
  728.     popl %edi
  729.     movl %ebp,%esp
  730.     popl %ebp
  731.     ret
  732.     .align 4
  733. .globl _mulss
  734. _mulss:
  735.     pushl %ebp
  736.     movl %esp,%ebp
  737.     subl $4,%esp
  738.     pushl %esi
  739.     pushl %ebx
  740.     movl 8(%ebp),%edx
  741.     movl 12(%ebp),%ebx
  742.     testl %edx,%edx
  743.     je L125
  744.     testl %ebx,%ebx
  745.     jne L124
  746. L125:
  747.     movl _gzero,%eax
  748.     jmp L133
  749.     .align 4,0x90
  750. L124:
  751.     movl $1,%esi
  752.     testl %edx,%edx
  753.     jge L126
  754.     movl $-1,%esi
  755.     negl %edx
  756.     jns L126
  757.     pushl %edx
  758.     call _stoi
  759.     pushl %eax
  760.     pushl %ebx
  761.     call _mulsi
  762.     jmp L133
  763.     .align 4,0x90
  764. L126:
  765.     testl %ebx,%ebx
  766.     jge L128
  767.     negl %esi
  768.     negl %ebx
  769.     jns L128
  770.     pushl $_ABS_MOST_NEGS
  771.     movl %edx,%eax
  772.     testl %esi,%esi
  773.     jg L130
  774.     negl %eax
  775. L130:
  776.     pushl %eax
  777.     call _mulsi
  778.     jmp L133
  779.     .align 4,0x90
  780. L128:
  781.     leal -4(%ebp),%eax
  782.     pushl %eax
  783.     pushl %ebx
  784.     pushl %edx
  785.     call _mulul3
  786.     movl %eax,%ebx
  787.     addl $12,%esp
  788.     cmpl $0,-4(%ebp)
  789.     je L131
  790.     pushl $4
  791.     call _cgeti
  792.     movl -4(%ebp),%ecx
  793.     movl %ecx,8(%eax)
  794.     movl %ebx,12(%eax)
  795.     jmp L132
  796.     .align 4,0x90
  797. L131:
  798.     pushl $3
  799.     call _cgeti
  800.     movl %ebx,8(%eax)
  801. L132:
  802.     movl (%eax),%ecx
  803.     movl %ecx,4(%eax)
  804.     movl %esi,%ecx
  805.     movb %cl,7(%eax)
  806. L133:
  807.     leal -12(%ebp),%esp
  808.     popl %ebx
  809.     popl %esi
  810.     movl %ebp,%esp
  811.     popl %ebp
  812.     ret
  813.     .align 4
  814. .globl _mulii
  815. _mulii:
  816.     pushl %ebp
  817.     movl %esp,%ebp
  818.     subl $48,%esp
  819.     pushl %edi
  820.     pushl %esi
  821.     pushl %ebx
  822.     movl 8(%ebp),%esi
  823.     movzwl 4(%esi),%edi
  824.     movl %edi,-8(%ebp)
  825.     movl 12(%ebp),%ecx
  826.     movzwl 4(%ecx),%ecx
  827.     movl %ecx,-12(%ebp)
  828.     movl 4(%esi),%ebx
  829.     sarl $24,%ebx
  830.     je L157
  831.     movl 12(%ebp),%edi
  832.     movl 4(%edi),%eax
  833.     sarl $24,%eax
  834.     jne L136
  835. L157:
  836.     movl _gzero,%eax
  837.     jmp L156
  838.     .align 4,0x90
  839. L136:
  840.     testl %eax,%eax
  841.     jge L137
  842.     negl %ebx
  843. L137:
  844.     movl -12(%ebp),%ecx
  845.     cmpl %ecx,-8(%ebp)
  846.     jle L138
  847.     movl %esi,-24(%ebp)
  848.     movl 12(%ebp),%esi
  849.     movl -24(%ebp),%edi
  850.     movl %edi,12(%ebp)
  851.     movl -8(%ebp),%ecx
  852.     movl %ecx,-16(%ebp)
  853.     movl -12(%ebp),%edi
  854.     movl %edi,-8(%ebp)
  855.     movl %ecx,-12(%ebp)
  856. L138:
  857.     movl -8(%ebp),%ecx
  858.     movl -12(%ebp),%edi
  859.     leal -2(%edi,%ecx),%ecx
  860.     movl %ecx,-16(%ebp)
  861.     cmpl $65535,%ecx
  862.     jle L139
  863.     pushl $17
  864.     call _err
  865.     addl $4,%esp
  866. L139:
  867.     movl -16(%ebp),%ecx
  868.     pushl %ecx
  869.     call _cgeti
  870.     movl %eax,-24(%ebp)
  871.     movl (%eax),%edi
  872.     movl %edi,4(%eax)
  873.     movb %bl,7(%eax)
  874.     movl -8(%ebp),%ecx
  875.     leal -4(%esi,%ecx,4),%esi
  876.     movl %esi,-32(%ebp)
  877.     movl (%esi),%edi
  878.     movl %edi,-20(%ebp)
  879.     movl $0,-4(%ebp)
  880.     movl -12(%ebp),%ecx
  881.     movl 12(%ebp),%edi
  882.     leal (%edi,%ecx,4),%ecx
  883.     movl %ecx,-48(%ebp)
  884.     movl -16(%ebp),%edi
  885.     leal (%eax,%edi,4),%edi
  886.     movl %edi,-28(%ebp)
  887.     addl $4,%esp
  888.     movl -12(%ebp),%esi
  889.     addl $-2,%esi
  890.     je L141
  891.     .align 2,0x90
  892. L144:
  893.     addl $-4,-28(%ebp)
  894.     movl -4(%ebp),%ebx
  895.     leal -4(%ebp),%eax
  896.     pushl %eax
  897.     addl $-4,-48(%ebp)
  898.     movl -48(%ebp),%ecx
  899.     movl (%ecx),%ecx
  900.     pushl %ecx
  901.     movl -20(%ebp),%edi
  902.     pushl %edi
  903.     call _mulul3
  904.     movl %eax,%edx
  905.     addl %ebx,%edx
  906.     cmpl %ebx,%edx
  907.     jae L143
  908.     incl -4(%ebp)
  909. L143:
  910.     movl -28(%ebp),%ecx
  911.     movl %edx,(%ecx)
  912.     addl $12,%esp
  913.     decl %esi
  914.     jne L144
  915. L141:
  916.     movl -4(%ebp),%ecx
  917.     movl -28(%ebp),%edi
  918.     movl %ecx,-4(%edi)
  919.     movl -16(%ebp),%edi
  920.     movl -24(%ebp),%ecx
  921.     leal (%ecx,%edi,4),%edi
  922.     movl %edi,-28(%ebp)
  923.     movl -12(%ebp),%ecx
  924.     movl 12(%ebp),%edi
  925.     leal (%edi,%ecx,4),%ecx
  926.     movl %ecx,-36(%ebp)
  927.     decl -12(%ebp)
  928.     addl $-3,-8(%ebp)
  929.     cmpl $0,-8(%ebp)
  930.     jle L146
  931.     .align 2,0x90
  932. L154:
  933.     addl $-4,-32(%ebp)
  934.     movl -32(%ebp),%edi
  935.     movl (%edi),%edi
  936.     movl %edi,-44(%ebp)
  937.     movl -36(%ebp),%ecx
  938.     movl %ecx,-48(%ebp)
  939.     movl -28(%ebp),%ebx
  940.     addl $-4,%ebx
  941.     movl %ebx,-28(%ebp)
  942.     movl $0,-40(%ebp)
  943.     movl -12(%ebp),%esi
  944.     jmp L158
  945.     .align 4,0x90
  946.     .align 2,0x90
  947. L153:
  948.     addl $-4,-48(%ebp)
  949.     leal -4(%ebp),%eax
  950.     pushl %eax
  951.     movl -44(%ebp),%edi
  952.     pushl %edi
  953.     movl -48(%ebp),%ecx
  954.     movl (%ecx),%ecx
  955.     pushl %ecx
  956.     call _mulul3
  957.     addl $-4,%ebx
  958.     movl %eax,%edx
  959.     addl (%ebx),%edx
  960.     cmpl %eax,%edx
  961.     jae L150
  962.     incl -4(%ebp)
  963. L150:
  964.     movl %edx,%eax
  965.     movl -40(%ebp),%edx
  966.     addl %eax,%edx
  967.     cmpl %eax,%edx
  968.     jae L152
  969.     incl -4(%ebp)
  970. L152:
  971.     movl %edx,(%ebx)
  972.     movl -4(%ebp),%edi
  973.     movl %edi,-40(%ebp)
  974.     addl $12,%esp
  975. L158:
  976.     decl %esi
  977.     jne L153
  978.     movl -4(%ebp),%ecx
  979.     movl %ecx,-4(%ebx)
  980.     decl -8(%ebp)
  981.     cmpl $0,-8(%ebp)
  982.     jg L154
  983. L146:
  984.     movl -24(%ebp),%edi
  985.     cmpl $0,8(%edi)
  986.     jne L155
  987.     movl -24(%ebp),%edi
  988.     movl 4(%edi),%ecx
  989.     decl %ecx
  990.     movl %ecx,8(%edi)
  991.     movl -24(%ebp),%edi
  992.     movl (%edi),%ecx
  993.     decl %ecx
  994.     movl %ecx,4(%edi)
  995.     addl $4,%edi
  996.     movl %edi,-24(%ebp)
  997.     addl $4,_avma
  998. L155:
  999.     movl -24(%ebp),%eax
  1000. L156:
  1001.     leal -60(%ebp),%esp
  1002.     popl %ebx
  1003.     popl %esi
  1004.     popl %edi
  1005.     movl %ebp,%esp
  1006.     popl %ebp
  1007.     ret
  1008.     .align 2
  1009. LC0:
  1010.     .long 0x55475a32,0x3fd34413
  1011.     .align 4
  1012. .globl _confrac
  1013. _confrac:
  1014.     pushl %ebp
  1015.     movl %esp,%ebp
  1016.     subl $68,%esp
  1017.     pushl %edi
  1018.     pushl %esi
  1019.     pushl %ebx
  1020.     movl 8(%ebp),%edx
  1021.     movzwl (%edx),%edx
  1022.     movl %edx,-16(%ebp)
  1023.     movl 8(%ebp),%ecx
  1024.     movl 4(%ecx),%eax
  1025.     andl $16777215,%eax
  1026.     movl $8388607,%edx
  1027.     subl %eax,%edx
  1028.     movl %edx,-20(%ebp)
  1029.     movl _avma,%ecx
  1030.     movl %ecx,-24(%ebp)
  1031.     movl -16(%ebp),%eax
  1032.     sall $5,%eax
  1033.     leal -64(%edx,%eax),%eax
  1034.     movl %eax,-32(%ebp)
  1035.     addl $63,%eax
  1036.     sarl $5,%eax
  1037.     movl %eax,-28(%ebp)
  1038.     pushl %eax
  1039.     call _cgeti
  1040.     movl %eax,-44(%ebp)
  1041.     movl -20(%ebp),%esi
  1042.     sarl $5,%esi
  1043.     xorl %ebx,%ebx
  1044.     addl $4,%esp
  1045.     cmpl %esi,%ebx
  1046.     jge L161
  1047.     .align 2,0x90
  1048. L163:
  1049.     movl -44(%ebp),%edx
  1050.     movl $0,(%edx,%ebx,4)
  1051.     incl %ebx
  1052.     cmpl %esi,%ebx
  1053.     jl L163
  1054. L161:
  1055.     andl $31,-20(%ebp)
  1056.     jne L164
  1057.     movl $2,%edi
  1058.     cmpl %edi,-16(%ebp)
  1059.     jle L169
  1060.     .align 2,0x90
  1061. L168:
  1062.     movl 8(%ebp),%ecx
  1063.     movl (%ecx,%edi,4),%eax
  1064.     movl -44(%ebp),%ecx
  1065.     movl %eax,(%ecx,%ebx,4)
  1066.     incl %ebx
  1067.     incl %edi
  1068.     cmpl %edi,-16(%ebp)
  1069.     jg L168
  1070.     jmp L169
  1071.     .align 4,0x90
  1072. L164:
  1073.     movl $0,-40(%ebp)
  1074.     movl $2,%edi
  1075.     cmpl %edi,-16(%ebp)
  1076.     jle L171
  1077.     movl $32,%edx
  1078.     subl -20(%ebp),%edx
  1079.     movl %edx,-52(%ebp)
  1080.     .align 2,0x90
  1081. L173:
  1082.     movl %ebx,-64(%ebp)
  1083.     movl 8(%ebp),%ecx
  1084.     movl (%ecx,%edi,4),%esi
  1085.     incl %ebx
  1086.     movl %esi,%eax
  1087.     movl -52(%ebp),%ecx
  1088.     sall %cl,%eax
  1089.     movl %eax,-68(%ebp)
  1090.     movl %eax,-12(%ebp)
  1091.     movl -20(%ebp),%ecx
  1092.     shrl %cl,%esi
  1093.     movl %esi,%ecx
  1094.     addl -40(%ebp),%ecx
  1095.     movl -64(%ebp),%eax
  1096.     movl -44(%ebp),%edx
  1097.     movl %ecx,(%edx,%eax,4)
  1098.     movl -68(%ebp),%eax
  1099.     movl %eax,-40(%ebp)
  1100.     incl %edi
  1101.     cmpl %edi,-16(%ebp)
  1102.     jg L173
  1103. L171:
  1104.     movl -40(%ebp),%eax
  1105.     movl -28(%ebp),%edx
  1106.     movl -44(%ebp),%ecx
  1107.     movl %eax,-8(%ecx,%edx,4)
  1108. L169:
  1109.     movl -28(%ebp),%edx
  1110.     movl -44(%ebp),%ecx
  1111.     movl $0,-4(%ecx,%edx,4)
  1112.     fldl LC0
  1113.     fimull -32(%ebp)
  1114.     fld1
  1115.     faddp %st,%st(1)
  1116.     fnstcw -4(%ebp)
  1117.     movl -4(%ebp),%eax
  1118.     movb $12,%ah
  1119.     movl %eax,-8(%ebp)
  1120.     fldcw -8(%ebp)
  1121.     subl $4,%esp
  1122.     fistpl (%esp)
  1123.     popl %ebx
  1124.     fldcw -4(%ebp)
  1125.     leal 17(%ebx),%edx
  1126.     movl %edx,-36(%ebp)
  1127.     movl -36(%ebp),%eax
  1128.     movl $9,%ecx
  1129.     cltd
  1130.     idivl %ecx
  1131.     movl %eax,-36(%ebp)
  1132.     pushl %eax
  1133.     call _cgeti
  1134.     movl %eax,-48(%ebp)
  1135.     movl %ebx,(%eax)
  1136.     movl $1,%edi
  1137.     addl $4,%esp
  1138.     cmpl %edi,-36(%ebp)
  1139.     jle L175
  1140.     leal -12(%ebp),%eax
  1141.     movl %eax,-56(%ebp)
  1142.     .align 2,0x90
  1143. L183:
  1144.     movl $0,-12(%ebp)
  1145.     movl -28(%ebp),%ebx
  1146.     jmp L184
  1147.     .align 4,0x90
  1148.     .align 2,0x90
  1149. L182:
  1150.     movl -12(%ebp),%esi
  1151.     movl -56(%ebp),%edx
  1152.     pushl %edx
  1153.     pushl $1000000000
  1154.     movl -44(%ebp),%ecx
  1155.     movl (%ecx,%ebx,4),%ecx
  1156.     pushl %ecx
  1157.     call _mulul3
  1158.     movl %eax,-68(%ebp)
  1159.     addl %esi,-68(%ebp)
  1160.     cmpl %esi,-68(%ebp)
  1161.     jae L181
  1162.     incl -12(%ebp)
  1163. L181:
  1164.     movl -68(%ebp),%edx
  1165.     movl -44(%ebp),%eax
  1166.     movl %edx,(%eax,%ebx,4)
  1167.     addl $12,%esp
  1168. L184:
  1169.     decl %ebx
  1170.     jns L182
  1171.     movl -12(%ebp),%eax
  1172.     movl -48(%ebp),%ecx
  1173.     movl %eax,(%ecx,%edi,4)
  1174.     incl %edi
  1175.     cmpl %edi,-36(%ebp)
  1176.     jg L183
  1177. L175:
  1178.     movl -24(%ebp),%edx
  1179.     movl %edx,_avma
  1180.     movl -48(%ebp),%eax
  1181.     leal -80(%ebp),%esp
  1182.     popl %ebx
  1183.     popl %esi
  1184.     popl %edi
  1185.     movl %ebp,%esp
  1186.     popl %ebp
  1187.     ret
  1188.     .align 4
  1189. .globl _divss
  1190. _divss:
  1191.     pushl %ebp
  1192.     movl %esp,%ebp
  1193.     pushl %esi
  1194.     pushl %ebx
  1195.     movl 8(%ebp),%esi
  1196.     movl 12(%ebp),%ebx
  1197.     testl %ebx,%ebx
  1198.     jne L186
  1199.     pushl $23
  1200.     call _err
  1201.     addl $4,%esp
  1202. L186:
  1203.     cmpl $-2147483648,%esi
  1204.     jne L187
  1205.     pushl %ebx
  1206.     pushl $-2147483648
  1207.     call _stoi
  1208.     addl $4,%esp
  1209.     pushl %eax
  1210.     call _divis
  1211.     jmp L192
  1212.     .align 4,0x90
  1213. L187:
  1214.     movl $0,_hiremainder
  1215.     pushl $_hiremainder
  1216.     movl %ebx,%eax
  1217.     testl %ebx,%ebx
  1218.     jge L188
  1219.     negl %eax
  1220. L188:
  1221.     pushl %eax
  1222.     movl %esi,%eax
  1223.     testl %esi,%esi
  1224.     jge L189
  1225.     negl %eax
  1226. L189:
  1227.     pushl %eax
  1228.     call _divul3
  1229.     addl $12,%esp
  1230.     testl %ebx,%ebx
  1231.     jge L190
  1232.     negl _hiremainder
  1233.     negl %eax
  1234. L190:
  1235.     testl %esi,%esi
  1236.     jge L191
  1237.     negl %eax
  1238. L191:
  1239.     pushl %eax
  1240.     call _stoi
  1241. L192:
  1242.     leal -8(%ebp),%esp
  1243.     popl %ebx
  1244.     popl %esi
  1245.     movl %ebp,%esp
  1246.     popl %ebp
  1247.     ret
  1248.     .align 4
  1249. .globl _modss
  1250. _modss:
  1251.     pushl %ebp
  1252.     movl %esp,%ebp
  1253.     subl $4,%esp
  1254.     pushl %esi
  1255.     pushl %ebx
  1256.     movl 8(%ebp),%esi
  1257.     movl 12(%ebp),%ebx
  1258.     testl %ebx,%ebx
  1259.     jne L194
  1260.     pushl $38
  1261.     call _err
  1262.     addl $4,%esp
  1263. L194:
  1264.     cmpl $-2147483648,%esi
  1265.     jne L195
  1266.     pushl %ebx
  1267.     pushl $-2147483648
  1268.     call _stoi
  1269.     addl $4,%esp
  1270.     pushl %eax
  1271.     call _modis
  1272.     jmp L201
  1273.     .align 4,0x90
  1274. L195:
  1275.     movl $0,-4(%ebp)
  1276.     leal -4(%ebp),%eax
  1277.     pushl %eax
  1278.     testl %ebx,%ebx
  1279.     jge L196
  1280.     negl %ebx
  1281. L196:
  1282.     pushl %ebx
  1283.     movl %esi,%eax
  1284.     testl %eax,%eax
  1285.     jge L197
  1286.     negl %eax
  1287. L197:
  1288.     pushl %eax
  1289.     call _divul3
  1290.     addl $12,%esp
  1291.     cmpl $0,-4(%ebp)
  1292.     jne L198
  1293.     movl _gzero,%eax
  1294.     jmp L201
  1295.     .align 4,0x90
  1296. L198:
  1297.     cmpl $0,-4(%ebp)
  1298.     jge L199
  1299.     movl %ebx,%eax
  1300.     subl -4(%ebp),%eax
  1301.     pushl %eax
  1302.     jmp L202
  1303.     .align 4,0x90
  1304. L199:
  1305.     movl -4(%ebp),%edx
  1306.     pushl %edx
  1307. L202:
  1308.     call _stoi
  1309. L201:
  1310.     leal -12(%ebp),%esp
  1311.     popl %ebx
  1312.     popl %esi
  1313.     movl %ebp,%esp
  1314.     popl %ebp
  1315.     ret
  1316.     .align 4
  1317. .globl _resss
  1318. _resss:
  1319.     pushl %ebp
  1320.     movl %esp,%ebp
  1321.     subl $4,%esp
  1322.     pushl %ebx
  1323.     movl 12(%ebp),%ebx
  1324.     testl %ebx,%ebx
  1325.     jne L204
  1326.     pushl $40
  1327.     call _err
  1328.     addl $4,%esp
  1329. L204:
  1330.     movl $0,-4(%ebp)
  1331.     leal -4(%ebp),%eax
  1332.     pushl %eax
  1333.     movl %ebx,%eax
  1334.     testl %ebx,%ebx
  1335.     jge L205
  1336.     negl %eax
  1337. L205:
  1338.     pushl %eax
  1339.     movl 8(%ebp),%eax
  1340.     testl %eax,%eax
  1341.     jge L206
  1342.     negl %eax
  1343. L206:
  1344.     pushl %eax
  1345.     call _divul3
  1346.     testl %ebx,%ebx
  1347.     jge L207
  1348.     movl -4(%ebp),%eax
  1349.     negl %eax
  1350.     pushl %eax
  1351.     jmp L209
  1352.     .align 4,0x90
  1353. L207:
  1354.     movl -4(%ebp),%edx
  1355.     pushl %edx
  1356. L209:
  1357.     call _stoi
  1358.     movl -8(%ebp),%ebx
  1359.     movl %ebp,%esp
  1360.     popl %ebp
  1361.     ret
  1362.     .align 4
  1363. .globl _divsi
  1364. _divsi:
  1365.     pushl %ebp
  1366.     movl %esp,%ebp
  1367.     pushl %edi
  1368.     pushl %esi
  1369.     pushl %ebx
  1370.     movl 8(%ebp),%ebx
  1371.     movl 12(%ebp),%esi
  1372.     movzwl 4(%esi),%edi
  1373.     cmpb $0,7(%esi)
  1374.     jne L211
  1375.     pushl $24
  1376.     call _err
  1377.     addl $4,%esp
  1378. L211:
  1379.     testl %ebx,%ebx
  1380.     je L213
  1381.     cmpl $3,%edi
  1382.     jg L213
  1383.     cmpl $0,8(%esi)
  1384.     jge L212
  1385. L213:
  1386.     movl %ebx,_hiremainder
  1387.     movl _gzero,%eax
  1388.     jmp L218
  1389.     .align 4,0x90
  1390. L212:
  1391.     cmpl $-2147483648,%ebx
  1392.     jne L214
  1393.     pushl $0
  1394.     pushl %esi
  1395.     pushl $-2147483648
  1396.     call _stoi
  1397.     addl $4,%esp
  1398.     pushl %eax
  1399.     call _dvmdii
  1400.     jmp L218
  1401.     .align 4,0x90
  1402. L214:
  1403.     movl $0,_hiremainder
  1404.     pushl $_hiremainder
  1405.     movl 8(%esi),%edx
  1406.     pushl %edx
  1407.     movl %ebx,%eax
  1408.     testl %ebx,%ebx
  1409.     jge L215
  1410.     negl %eax
  1411. L215:
  1412.     pushl %eax
  1413.     call _divul3
  1414.     addl $12,%esp
  1415.     cmpl $0,4(%esi)
  1416.     jge L216
  1417.     negl _hiremainder
  1418.     negl %eax
  1419. L216:
  1420.     testl %ebx,%ebx
  1421.     jge L217
  1422.     negl %eax
  1423. L217:
  1424.     pushl %eax
  1425.     call _stoi
  1426. L218:
  1427.     leal -12(%ebp),%esp
  1428.     popl %ebx
  1429.     popl %esi
  1430.     popl %edi
  1431.     movl %ebp,%esp
  1432.     popl %ebp
  1433.     ret
  1434.     .align 4
  1435. .globl _divis
  1436. _divis:
  1437.     pushl %ebp
  1438.     movl %esp,%ebp
  1439.     subl $24,%esp
  1440.     pushl %edi
  1441.     pushl %esi
  1442.     pushl %ebx
  1443.     movl 12(%ebp),%edi
  1444.     movl 8(%ebp),%edx
  1445.     movl 4(%edx),%ecx
  1446.     sarl $24,%ecx
  1447.     movl %ecx,-8(%ebp)
  1448.     movzwl 4(%edx),%edx
  1449.     movl %edx,-12(%ebp)
  1450.     testl %edi,%edi
  1451.     jne L220
  1452.     pushl $26
  1453.     call _err
  1454.     addl $4,%esp
  1455. L220:
  1456.     cmpl $0,-8(%ebp)
  1457.     jne L221
  1458.     movl $0,_hiremainder
  1459.     movl _gzero,%eax
  1460.     jmp L234
  1461.     .align 4,0x90
  1462. L221:
  1463.     testl %edi,%edi
  1464.     jge L222
  1465.     negl -8(%ebp)
  1466.     negl %edi
  1467.     jns L222
  1468.     pushl $0
  1469.     pushl %edi
  1470.     call _stoi
  1471.     addl $4,%esp
  1472.     pushl %eax
  1473.     movl 8(%ebp),%ecx
  1474.     pushl %ecx
  1475.     call _dvmdii
  1476.     jmp L234
  1477.     .align 4,0x90
  1478. L222:
  1479.     movl 8(%ebp),%edx
  1480.     cmpl %edi,8(%edx)
  1481.     jae L224
  1482.     cmpl $3,-12(%ebp)
  1483.     jne L225
  1484.     pushl %edx
  1485.     call _itos
  1486.     movl %eax,_hiremainder
  1487.     movl _gzero,%eax
  1488.     jmp L234
  1489.     .align 4,0x90
  1490. L225:
  1491.     movl -12(%ebp),%eax
  1492.     decl %eax
  1493.     pushl %eax
  1494.     call _cgeti
  1495.     movl %eax,%esi
  1496.     movl $1,-16(%ebp)
  1497.     movl 8(%ebp),%ecx
  1498.     movl 8(%ecx),%ecx
  1499.     movl %ecx,-4(%ebp)
  1500.     jmp L235
  1501.     .align 4,0x90
  1502. L224:
  1503.     movl -12(%ebp),%edx
  1504.     pushl %edx
  1505.     call _cgeti
  1506.     movl %eax,%esi
  1507.     movl $0,-16(%ebp)
  1508.     movl $0,-4(%ebp)
  1509. L235:
  1510.     addl $4,%esp
  1511.     movl -16(%ebp),%ebx
  1512.     addl $2,%ebx
  1513.     cmpl %ebx,-12(%ebp)
  1514.     jle L229
  1515.     leal -4(%ebp),%ecx
  1516.     movl %ecx,-20(%ebp)
  1517.     .align 2,0x90
  1518. L231:
  1519.     movl -20(%ebp),%edx
  1520.     pushl %edx
  1521.     pushl %edi
  1522.     movl 8(%ebp),%ecx
  1523.     movl (%ecx,%ebx,4),%ecx
  1524.     pushl %ecx
  1525.     call _divul3
  1526.     movl %ebx,%edx
  1527.     subl -16(%ebp),%edx
  1528.     movl %eax,(%esi,%edx,4)
  1529.     addl $12,%esp
  1530.     incl %ebx
  1531.     cmpl %ebx,-12(%ebp)
  1532.     jg L231
  1533. L229:
  1534.     movl (%esi),%ecx
  1535.     movl %ecx,4(%esi)
  1536.     movb -8(%ebp),%dl
  1537.     movb %dl,7(%esi)
  1538.     cmpl $0,-8(%ebp)
  1539.     jge L232
  1540.     movl -4(%ebp),%ecx
  1541.     negl %ecx
  1542.     movl %ecx,_hiremainder
  1543.     jmp L233
  1544.     .align 4,0x90
  1545. L232:
  1546.     movl -4(%ebp),%edx
  1547.     movl %edx,_hiremainder
  1548. L233:
  1549.     movl %esi,%eax
  1550. L234:
  1551.     leal -36(%ebp),%esp
  1552.     popl %ebx
  1553.     popl %esi
  1554.     popl %edi
  1555.     movl %ebp,%esp
  1556.     popl %ebp
  1557.     ret
  1558.     .align 4
  1559. .globl _dvmdii
  1560. _dvmdii:
  1561.     pushl %ebp
  1562.     movl %esp,%ebp
  1563.     subl $92,%esp
  1564.     pushl %edi
  1565.     pushl %esi
  1566.     pushl %ebx
  1567.     movl 8(%ebp),%esi
  1568.     movl 4(%esi),%edx
  1569.     sarl $24,%edx
  1570.     movl %edx,-36(%ebp)
  1571.     movl 12(%ebp),%ecx
  1572.     movl 4(%ecx),%edi
  1573.     sarl $24,%edi
  1574.     movl %edi,-40(%ebp)
  1575.     jne L237
  1576.     pushl $36
  1577.     call _err
  1578.     addl $4,%esp
  1579. L237:
  1580.     cmpl $0,-36(%ebp)
  1581.     jne L238
  1582.     cmpl $-1,16(%ebp)
  1583.     je L333
  1584.     cmpl $0,16(%ebp)
  1585.     je L333
  1586.     movl _gzero,%ecx
  1587.     movl 16(%ebp),%edx
  1588.     movl %ecx,(%edx)
  1589. L333:
  1590.     movl _gzero,%eax
  1591.     jmp L328
  1592.     .align 4,0x90
  1593. L238:
  1594.     movzwl 4(%esi),%edi
  1595.     movl %edi,-12(%ebp)
  1596.     movl 12(%ebp),%edx
  1597.     movzwl 4(%edx),%edx
  1598.     movl %edx,-16(%ebp)
  1599.     subl %edx,%edi
  1600.     movl %edi,-20(%ebp)
  1601.     jns L241
  1602.     cmpl $-1,16(%ebp)
  1603.     jne L242
  1604.     pushl %esi
  1605.     call _icopy
  1606.     jmp L328
  1607.     .align 4,0x90
  1608. L242:
  1609.     cmpl $0,16(%ebp)
  1610.     je L333
  1611.     pushl %esi
  1612.     call _icopy
  1613.     movl 16(%ebp),%ecx
  1614.     movl %eax,(%ecx)
  1615.     jmp L333
  1616.     .align 4,0x90
  1617. L241:
  1618.     movl _avma,%edi
  1619.     movl %edi,-8(%ebp)
  1620.     cmpl $0,-36(%ebp)
  1621.     jge L244
  1622.     negl -40(%ebp)
  1623. L244:
  1624.     cmpl $3,-16(%ebp)
  1625.     jne L245
  1626.     movl 12(%ebp),%edx
  1627.     movl 8(%edx),%edx
  1628.     movl %edx,-48(%ebp)
  1629.     leal 8(%esi),%ecx
  1630.     movl %ecx,-88(%ebp)
  1631.     cmpl %edx,8(%esi)
  1632.     jae L246
  1633.     movl -12(%ebp),%ebx
  1634.     decl %ebx
  1635.     movl 8(%esi),%edi
  1636.     movl %edi,-4(%ebp)
  1637.     addl $12,%esi
  1638.     movl %esi,-88(%ebp)
  1639.     jmp L247
  1640.     .align 4,0x90
  1641. L246:
  1642.     movl -12(%ebp),%ebx
  1643.     movl $0,-4(%ebp)
  1644. L247:
  1645.     pushl %ebx
  1646.     call _cgeti
  1647.     movl %eax,-56(%ebp)
  1648.     movl %eax,%edx
  1649.     addl $8,%edx
  1650.     movl %edx,-72(%ebp)
  1651.     addl $4,%esp
  1652.     leal -2(%ebx),%ecx
  1653.     movl %ecx,-24(%ebp)
  1654.     testl %ecx,%ecx
  1655.     je L249
  1656.     leal -4(%ebp),%esi
  1657.     .align 2,0x90
  1658. L250:
  1659.     pushl %esi
  1660.     movl -48(%ebp),%edi
  1661.     pushl %edi
  1662.     movl -88(%ebp),%edx
  1663.     movl (%edx),%edx
  1664.     pushl %edx
  1665.     addl $4,-88(%ebp)
  1666.     call _divul3
  1667.     movl -72(%ebp),%ecx
  1668.     movl %eax,(%ecx)
  1669.     addl $4,%ecx
  1670.     movl %ecx,-72(%ebp)
  1671.     addl $12,%esp
  1672.     decl -24(%ebp)
  1673.     jne L250
  1674. L249:
  1675.     cmpl $-1,16(%ebp)
  1676.     jne L251
  1677.     movl -8(%ebp),%edi
  1678.     movl %edi,_avma
  1679.     cmpl $0,-4(%ebp)
  1680.     je L333
  1681.     pushl $3
  1682.     call _cgeti
  1683.     movl %eax,-60(%ebp)
  1684.     movl -36(%ebp),%eax
  1685.     sall $24,%eax
  1686.     addl $3,%eax
  1687.     movl -60(%ebp),%edx
  1688.     movl %eax,4(%edx)
  1689.     movl -4(%ebp),%ecx
  1690.     movl %ecx,8(%edx)
  1691.     movl -60(%ebp),%eax
  1692.     jmp L328
  1693.     .align 4,0x90
  1694. L251:
  1695.     cmpl $2,%ebx
  1696.     je L253
  1697.     movl -56(%ebp),%edi
  1698.     movl (%edi),%edx
  1699.     movl %edx,4(%edi)
  1700.     movb -40(%ebp),%cl
  1701.     movb %cl,7(%edi)
  1702.     jmp L254
  1703.     .align 4,0x90
  1704. L253:
  1705.     movl -8(%ebp),%edi
  1706.     movl %edi,_avma
  1707.     movl _gzero,%edx
  1708.     movl %edx,-56(%ebp)
  1709. L254:
  1710.     cmpl $0,16(%ebp)
  1711.     jne L255
  1712. L331:
  1713.     movl -56(%ebp),%eax
  1714.     jmp L328
  1715.     .align 4,0x90
  1716. L255:
  1717.     cmpl $0,-4(%ebp)
  1718.     jne L256
  1719.     movl _gzero,%edi
  1720.     movl 16(%ebp),%ecx
  1721.     movl %edi,(%ecx)
  1722.     jmp L331
  1723.     .align 4,0x90
  1724. L256:
  1725.     pushl $3
  1726.     call _cgeti
  1727.     movl %eax,-60(%ebp)
  1728.     movl -36(%ebp),%eax
  1729.     sall $24,%eax
  1730.     addl $3,%eax
  1731.     movl -60(%ebp),%edx
  1732.     movl %eax,4(%edx)
  1733.     movl -4(%ebp),%ecx
  1734.     movl %ecx,8(%edx)
  1735.     movl 16(%ebp),%edi
  1736.     movl %edx,(%edi)
  1737.     jmp L331
  1738.     .align 4,0x90
  1739. L245:
  1740.     movl -12(%ebp),%edx
  1741.     pushl %edx
  1742.     call _cgeti
  1743.     movl %eax,-56(%ebp)
  1744.     movl 12(%ebp),%ecx
  1745.     movl 8(%ecx),%ecx
  1746.     pushl %ecx
  1747.     call _bfffo
  1748.     movl %eax,-28(%ebp)
  1749.     addl $8,%esp
  1750.     testl %eax,%eax
  1751.     je L259
  1752.     movl -16(%ebp),%edi
  1753.     pushl %edi
  1754.     call _cgeti
  1755.     movl %eax,-60(%ebp)
  1756.     movl 12(%ebp),%edx
  1757.     movl 8(%edx),%ebx
  1758.     addl $12,%edx
  1759.     movl %edx,-92(%ebp)
  1760.     movl $32,%eax
  1761.     subl -28(%ebp),%eax
  1762.     movl %ebx,%edi
  1763.     movl %eax,%ecx
  1764.     shrl %cl,%edi
  1765.     movl %edi,-4(%ebp)
  1766.     movl -28(%ebp),%ecx
  1767.     sall %cl,%ebx
  1768.     movl %ebx,-32(%ebp)
  1769.     movl -60(%ebp),%eax
  1770.     addl $8,%eax
  1771.     addl $4,%esp
  1772.     movl -16(%ebp),%edi
  1773.     addl $-3,%edi
  1774.     movl %edi,-24(%ebp)
  1775.     je L261
  1776.     movl $32,%edx
  1777.     subl %ecx,%edx
  1778.     movl %edx,-88(%ebp)
  1779.     .align 2,0x90
  1780. L262:
  1781.     movl -92(%ebp),%ecx
  1782.     movl (%ecx),%ebx
  1783.     addl $4,%ecx
  1784.     movl %ecx,-92(%ebp)
  1785.     movl %ebx,%edi
  1786.     movl -88(%ebp),%ecx
  1787.     shrl %cl,%edi
  1788.     movl %edi,-4(%ebp)
  1789.     movl -32(%ebp),%edx
  1790.     addl %edi,%edx
  1791.     movl %edx,(%eax)
  1792.     addl $4,%eax
  1793.     movl -28(%ebp),%ecx
  1794.     sall %cl,%ebx
  1795.     movl %ebx,-32(%ebp)
  1796.     decl -24(%ebp)
  1797.     jne L262
  1798. L261:
  1799.     movl -32(%ebp),%edi
  1800.     movl %edi,(%eax)
  1801.     movl $0,-32(%ebp)
  1802.     addl $8,%esi
  1803.     movl %esi,-88(%ebp)
  1804.     movl -56(%ebp),%edx
  1805.     addl $4,%edx
  1806.     movl %edx,-72(%ebp)
  1807.     movl -12(%ebp),%ecx
  1808.     addl $-2,%ecx
  1809.     movl %ecx,-24(%ebp)
  1810.     je L264
  1811.     movl $32,%eax
  1812.     subl -28(%ebp),%eax
  1813.     .align 2,0x90
  1814. L265:
  1815.     movl -88(%ebp),%edi
  1816.     movl (%edi),%ebx
  1817.     addl $4,%edi
  1818.     movl %edi,-88(%ebp)
  1819.     movl %ebx,%edi
  1820.     movl %eax,%ecx
  1821.     shrl %cl,%edi
  1822.     movl %edi,-4(%ebp)
  1823.     movl -32(%ebp),%ecx
  1824.     addl %edi,%ecx
  1825.     movl -72(%ebp),%edx
  1826.     movl %ecx,(%edx)
  1827.     addl $4,%edx
  1828.     movl %edx,-72(%ebp)
  1829.     movl -28(%ebp),%ecx
  1830.     sall %cl,%ebx
  1831.     movl %ebx,-32(%ebp)
  1832.     decl -24(%ebp)
  1833.     jne L265
  1834. L264:
  1835.     movl -32(%ebp),%edx
  1836.     movl -72(%ebp),%edi
  1837.     movl %edx,(%edi)
  1838.     jmp L266
  1839.     .align 4,0x90
  1840. L259:
  1841.     addl $8,%esi
  1842.     movl %esi,-88(%ebp)
  1843.     movl -56(%ebp),%ecx
  1844.     movl $0,4(%ecx)
  1845.     addl $8,%ecx
  1846.     movl %ecx,-72(%ebp)
  1847.     movl -12(%ebp),%esi
  1848.     addl $-2,%esi
  1849.     je L268
  1850.     .align 2,0x90
  1851. L269:
  1852.     movl -88(%ebp),%edi
  1853.     movl (%edi),%edx
  1854.     movl -72(%ebp),%edi
  1855.     movl %edx,(%edi)
  1856.     addl $4,-88(%ebp)
  1857.     addl $4,%edi
  1858.     movl %edi,-72(%ebp)
  1859.     decl %esi
  1860.     jne L269
  1861. L268:
  1862.     movl 12(%ebp),%ecx
  1863.     movl %ecx,-60(%ebp)
  1864. L266:
  1865.     movl -60(%ebp),%edi
  1866.     movl 8(%edi),%edi
  1867.     movl %edi,-48(%ebp)
  1868.     movl -60(%ebp),%edx
  1869.     movl 12(%edx),%edx
  1870.     movl %edx,-44(%ebp)
  1871.     movl -56(%ebp),%ecx
  1872.     addl $4,%ecx
  1873.     movl %ecx,-72(%ebp)
  1874.     movl -20(%ebp),%edi
  1875.     incl %edi
  1876.     movl %edi,-24(%ebp)
  1877.     je L271
  1878.     movl -16(%ebp),%edx
  1879.     sall $2,%edx
  1880.     movl %edx,-80(%ebp)
  1881.     .align 2,0x90
  1882. L297:
  1883.     movl -72(%ebp),%ecx
  1884.     movl (%ecx),%eax
  1885.     addl $4,%ecx
  1886.     movl %ecx,-72(%ebp)
  1887.     cmpl %eax,-48(%ebp)
  1888.     jne L272
  1889.     movl $-1,-52(%ebp)
  1890.     movl -48(%ebp),%ebx
  1891.     movl %ebx,%edi
  1892.     addl (%ecx),%edi
  1893.     movl %edi,-84(%ebp)
  1894.     cmpl %ebx,%edi
  1895.     setb %al
  1896.     andl $255,%eax
  1897.     movl %edi,-32(%ebp)
  1898.     jmp L273
  1899.     .align 4,0x90
  1900. L272:
  1901.     movl -72(%ebp),%edx
  1902.     movl -4(%edx),%edx
  1903.     movl %edx,-4(%ebp)
  1904.     leal -4(%ebp),%eax
  1905.     pushl %eax
  1906.     movl -48(%ebp),%ecx
  1907.     pushl %ecx
  1908.     movl -72(%ebp),%edi
  1909.     movl (%edi),%edi
  1910.     pushl %edi
  1911.     call _divul3
  1912.     movl %eax,-52(%ebp)
  1913.     xorl %eax,%eax
  1914.     movl -4(%ebp),%edx
  1915.     movl %edx,-32(%ebp)
  1916.     addl $12,%esp
  1917. L273:
  1918.     testl %eax,%eax
  1919.     jne L274
  1920.     leal -4(%ebp),%eax
  1921.     pushl %eax
  1922.     movl -44(%ebp),%ecx
  1923.     pushl %ecx
  1924.     movl -52(%ebp),%edi
  1925.     pushl %edi
  1926.     call _mulul3
  1927.     movl %eax,%ebx
  1928.     movl -72(%ebp),%edx
  1929.     movl 4(%edx),%edx
  1930.     movl %edx,-92(%ebp)
  1931.     addl $12,%esp
  1932.     cmpl %edx,%ebx
  1933.     setb %al
  1934.     andl $255,%eax
  1935.     subl %edx,%ebx
  1936.     movl %ebx,-88(%ebp)
  1937.     movl -4(%ebp),%ebx
  1938.     movl -32(%ebp),%ecx
  1939.     movl %ecx,-92(%ebp)
  1940.     movl %ebx,%edi
  1941.     subl %ecx,%edi
  1942.     subl %eax,%edi
  1943.     movl %edi,-84(%ebp)
  1944.     cmpl %ebx,%ecx
  1945.     ja L334
  1946.     jmp L281
  1947.     .align 4,0x90
  1948.     .align 2,0x90
  1949. L285:
  1950.     decl -52(%ebp)
  1951.     movl -88(%ebp),%ebx
  1952.     movl -44(%ebp),%edx
  1953.     movl %edx,-92(%ebp)
  1954.     cmpl %edx,%ebx
  1955.     setb %al
  1956.     andl $255,%eax
  1957.     subl %edx,%ebx
  1958.     movl %ebx,-88(%ebp)
  1959.     movl %esi,%ebx
  1960.     movl -48(%ebp),%ecx
  1961.     movl %ecx,-92(%ebp)
  1962.     movl %ebx,%edi
  1963.     subl %ecx,%edi
  1964.     subl %eax,%edi
  1965.     movl %edi,-84(%ebp)
  1966.     cmpl %ebx,%ecx
  1967.     jbe L281
  1968. L334:
  1969.     movl $1,%eax
  1970.     jmp L282
  1971.     .align 4,0x90
  1972. L281:
  1973.     cmpl %ebx,-92(%ebp)
  1974.     jae L282
  1975.     xorl %eax,%eax
  1976. L282:
  1977.     movl -84(%ebp),%esi
  1978.     testl %eax,%eax
  1979.     jne L274
  1980.     testl %esi,%esi
  1981.     jne L285
  1982. L274:
  1983.     movl $0,-4(%ebp)
  1984.     movl -72(%ebp),%edx
  1985.     movl -80(%ebp),%ecx
  1986.     leal -8(%ecx,%edx),%edx
  1987.     movl %edx,-88(%ebp)
  1988.     movl -60(%ebp),%edi
  1989.     addl %ecx,%edi
  1990.     movl %edi,-76(%ebp)
  1991.     movl -16(%ebp),%esi
  1992.     addl $-2,%esi
  1993.     je L287
  1994.     .align 2,0x90
  1995. L290:
  1996.     movl -4(%ebp),%ebx
  1997.     leal -4(%ebp),%eax
  1998.     pushl %eax
  1999.     addl $-4,-76(%ebp)
  2000.     movl -76(%ebp),%edx
  2001.     movl (%edx),%edx
  2002.     pushl %edx
  2003.     movl -52(%ebp),%ecx
  2004.     pushl %ecx
  2005.     call _mulul3
  2006.     movl %eax,-84(%ebp)
  2007.     addl %ebx,-84(%ebp)
  2008.     cmpl %ebx,-84(%ebp)
  2009.     jae L289
  2010.     incl -4(%ebp)
  2011. L289:
  2012.     movl -84(%ebp),%edi
  2013.     movl %edi,-92(%ebp)
  2014.     addl $-4,-88(%ebp)
  2015.     addl $12,%esp
  2016.     movl -88(%ebp),%edx
  2017.     movl (%edx),%ebx
  2018.     cmpl %edi,%ebx
  2019.     setb %al
  2020.     andl $255,%eax
  2021.     subl %edi,%ebx
  2022.     movl %ebx,(%edx)
  2023.     addl %eax,-4(%ebp)
  2024.     decl %esi
  2025.     jne L290
  2026. L287:
  2027.     movl -72(%ebp),%ecx
  2028.     movl -4(%ecx),%eax
  2029.     cmpl %eax,-4(%ebp)
  2030.     jbe L291
  2031.     xorl %eax,%eax
  2032.     decl -52(%ebp)
  2033.     movl -80(%ebp),%edi
  2034.     leal -8(%edi,%ecx),%edi
  2035.     movl %edi,-88(%ebp)
  2036.     movl -60(%ebp),%edx
  2037.     addl -80(%ebp),%edx
  2038.     movl %edx,-76(%ebp)
  2039.     movl -16(%ebp),%esi
  2040.     addl $-2,%esi
  2041.     je L291
  2042.     .align 2,0x90
  2043. L296:
  2044.     movl -88(%ebp),%ecx
  2045.     addl $-4,%ecx
  2046.     movl %ecx,-92(%ebp)
  2047.     movl %ecx,-88(%ebp)
  2048.     movl (%ecx),%ebx
  2049.     addl $-4,-76(%ebp)
  2050.     movl %ebx,%edx
  2051.     movl -76(%ebp),%edi
  2052.     addl (%edi),%edx
  2053.     movl %edx,-84(%ebp)
  2054.     cmpl %ebx,%edx
  2055.     jae L294
  2056.     addl %eax,%edx
  2057.     movl %edx,-84(%ebp)
  2058.     movl $1,%eax
  2059.     movl %edx,(%ecx)
  2060.     jmp L292
  2061.     .align 4,0x90
  2062. L294:
  2063.     addl %eax,-84(%ebp)
  2064.     cmpl %eax,-84(%ebp)
  2065.     setb %al
  2066.     andl $255,%eax
  2067.     movl -84(%ebp),%edi
  2068.     movl -92(%ebp),%ecx
  2069.     movl %edi,(%ecx)
  2070. L292:
  2071.     decl %esi
  2072.     jne L296
  2073. L291:
  2074.     movl -52(%ebp),%ecx
  2075.     movl -72(%ebp),%edx
  2076.     movl %ecx,-4(%edx)
  2077.     decl -24(%ebp)
  2078.     jne L297
  2079. L271:
  2080.     movl _avma,%edi
  2081.     movl %edi,-88(%ebp)
  2082.     cmpl $-1,16(%ebp)
  2083.     je L298
  2084.     movl -20(%ebp),%ebx
  2085.     addl $2,%ebx
  2086.     movl -56(%ebp),%edx
  2087.     leal (%edx,%ebx,4),%edx
  2088.     movl %edx,-72(%ebp)
  2089.     movl -56(%ebp),%ecx
  2090.     cmpl $0,4(%ecx)
  2091.     je L299
  2092.     movl -20(%ebp),%ebx
  2093.     addl $3,%ebx
  2094.     jmp L300
  2095.     .align 4,0x90
  2096. L299:
  2097.     cmpl $0,-20(%ebp)
  2098.     jne L300
  2099.     movl $0,-40(%ebp)
  2100. L300:
  2101.     pushl %ebx
  2102.     call _cgeti
  2103.     movl %eax,-64(%ebp)
  2104.     leal (%eax,%ebx,4),%eax
  2105.     addl $4,%esp
  2106.     leal -2(%ebx),%esi
  2107.     testl %esi,%esi
  2108.     je L303
  2109.     .align 2,0x90
  2110. L304:
  2111.     addl $-4,%eax
  2112.     addl $-4,-72(%ebp)
  2113.     movl -72(%ebp),%edi
  2114.     movl (%edi),%edi
  2115.     movl %edi,(%eax)
  2116.     decl %esi
  2117.     jne L304
  2118. L303:
  2119.     cmpl $2,%ebx
  2120.     ja L305
  2121.     movl -64(%ebp),%edx
  2122.     movl $2,4(%edx)
  2123.     jmp L298
  2124.     .align 4,0x90
  2125. L305:
  2126.     movl -64(%ebp),%ecx
  2127.     movl (%ecx),%edi
  2128.     movl %edi,4(%ecx)
  2129.     movb -40(%ebp),%dl
  2130.     movb %dl,7(%ecx)
  2131. L298:
  2132.     cmpl $0,16(%ebp)
  2133.     je L307
  2134.     movl -20(%ebp),%esi
  2135.     addl $2,%esi
  2136.     cmpl %esi,-12(%ebp)
  2137.     jle L309
  2138.     movl -56(%ebp),%ecx
  2139.     cmpl $0,(%ecx,%esi,4)
  2140.     jne L309
  2141.     .align 2,0x90
  2142. L310:
  2143.     incl %esi
  2144.     cmpl %esi,-12(%ebp)
  2145.     jle L309
  2146.     movl -56(%ebp),%edi
  2147.     cmpl $0,(%edi,%esi,4)
  2148.     je L310
  2149. L309:
  2150.     cmpl %esi,-12(%ebp)
  2151.     jne L312
  2152.     movl _gzero,%edx
  2153.     pushl %edx
  2154.     call _icopy
  2155.     movl %eax,-68(%ebp)
  2156.     addl $4,%esp
  2157.     jmp L307
  2158.     .align 4,0x90
  2159. L312:
  2160.     movl -12(%ebp),%eax
  2161.     subl %esi,%eax
  2162.     addl $2,%eax
  2163.     pushl %eax
  2164.     call _cgeti
  2165.     movl %eax,-68(%ebp)
  2166.     movl (%eax),%ecx
  2167.     movl %ecx,4(%eax)
  2168.     addl $4,%esp
  2169.     cmpl $0,-28(%ebp)
  2170.     jne L314
  2171.     movl $2,-24(%ebp)
  2172.     cmpl %esi,-12(%ebp)
  2173.     jle L319
  2174.     .align 2,0x90
  2175. L318:
  2176.     movl -56(%ebp),%edi
  2177.     movl (%edi,%esi,4),%ecx
  2178.     movl -24(%ebp),%edi
  2179.     movl -68(%ebp),%edx
  2180.     movl %ecx,(%edx,%edi,4)
  2181.     incl %esi
  2182.     incl %edi
  2183.     movl %edi,-24(%ebp)
  2184.     cmpl %esi,-12(%ebp)
  2185.     jg L318
  2186.     jmp L319
  2187.     .align 4,0x90
  2188. L314:
  2189.     movl $0,-4(%ebp)
  2190.     movl -56(%ebp),%edi
  2191.     movl (%edi,%esi,4),%ebx
  2192.     incl %esi
  2193.     movl $32,%eax
  2194.     subl -28(%ebp),%eax
  2195.     movl %ebx,%edi
  2196.     movl %eax,%ecx
  2197.     sall %cl,%edi
  2198.     movl %edi,%eax
  2199.     movl %eax,-4(%ebp)
  2200.     movl -28(%ebp),%ecx
  2201.     shrl %cl,%ebx
  2202.     movl %ebx,-92(%ebp)
  2203.     movl %eax,-32(%ebp)
  2204.     testl %ebx,%ebx
  2205.     je L320
  2206.     movl -68(%ebp),%edi
  2207.     movl %ebx,8(%edi)
  2208.     movl $1,%eax
  2209.     jmp L321
  2210.     .align 4,0x90
  2211. L320:
  2212.     movl -68(%ebp),%edx
  2213.     movl (%edx),%ecx
  2214.     decl %ecx
  2215.     movl %ecx,4(%edx)
  2216.     addl $4,%edx
  2217.     movl %edx,-68(%ebp)
  2218.     addl $4,_avma
  2219.     movl -68(%ebp),%edx
  2220.     movl (%edx),%edi
  2221.     movl %edi,4(%edx)
  2222.     xorl %eax,%eax
  2223. L321:
  2224.     addl $2,%eax
  2225.     movl %eax,-24(%ebp)
  2226.     cmpl %esi,-12(%ebp)
  2227.     jle L319
  2228.     movl $32,%edx
  2229.     subl -28(%ebp),%edx
  2230.     movl %edx,-84(%ebp)
  2231.     .align 2,0x90
  2232. L325:
  2233.     movl -56(%ebp),%ecx
  2234.     movl (%ecx,%esi,4),%ebx
  2235.     movl %ebx,%edi
  2236.     movl -84(%ebp),%ecx
  2237.     sall %cl,%edi
  2238.     movl %edi,-92(%ebp)
  2239.     movl %edi,-4(%ebp)
  2240.     movl %ebx,%eax
  2241.     movl -28(%ebp),%ecx
  2242.     shrl %cl,%eax
  2243.     addl -32(%ebp),%eax
  2244.     movl -24(%ebp),%edi
  2245.     movl -68(%ebp),%edx
  2246.     movl %eax,(%edx,%edi,4)
  2247.     movl -92(%ebp),%ecx
  2248.     movl %ecx,-32(%ebp)
  2249.     incl %esi
  2250.     incl %edi
  2251.     movl %edi,-24(%ebp)
  2252.     cmpl %esi,-12(%ebp)
  2253.     jg L325
  2254. L319:
  2255.     movb -36(%ebp),%dl
  2256.     movl -68(%ebp),%ecx
  2257.     movb %dl,7(%ecx)
  2258. L307:
  2259.     cmpl $-1,16(%ebp)
  2260.     jne L326
  2261.     movl -68(%ebp),%edi
  2262.     pushl %edi
  2263.     movl -88(%ebp),%edx
  2264.     pushl %edx
  2265.     movl -8(%ebp),%ecx
  2266.     pushl %ecx
  2267.     jmp L332
  2268.     .align 4,0x90
  2269. L326:
  2270.     cmpl $0,16(%ebp)
  2271.     je L327
  2272.     pushl $0
  2273.     movl -88(%ebp),%edi
  2274.     pushl %edi
  2275.     movl -8(%ebp),%edx
  2276.     pushl %edx
  2277.     call _gerepile
  2278.     andb $252,%al
  2279.     movl -68(%ebp),%edi
  2280.     addl %eax,%edi
  2281.     movl 16(%ebp),%ecx
  2282.     movl %edi,(%ecx)
  2283.     addl -64(%ebp),%eax
  2284.     jmp L328
  2285.     .align 4,0x90
  2286. L327:
  2287.     movl -64(%ebp),%edx
  2288.     pushl %edx
  2289.     movl -88(%ebp),%ecx
  2290.     pushl %ecx
  2291.     movl -8(%ebp),%edi
  2292.     pushl %edi
  2293. L332:
  2294.     call _gerepile
  2295. L328:
  2296.     leal -104(%ebp),%esp
  2297.     popl %ebx
  2298.     popl %esi
  2299.     popl %edi
  2300.     movl %ebp,%esp
  2301.     popl %ebp
  2302.     ret
  2303. .comm _in_saved_avma,4
  2304.