Advertisement
Guest User

Kid Chameleon Decompressor

a guest
Oct 22nd, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Saxman's python compressor: http://www.4shared.com/file/YPgU9Zh1/kcc.html
  2. ; Saxman's python decompressor: http://www.4shared.com/file/-0pwnYbz/kcd.html
  3.  
  4. ; "Sonic hackers should ditch Kosinski for this"
  5. ; -Saxman, 2011
  6.  
  7. sub_13684:                              ; CODE XREF: Load_InGame:loc_11C10p
  8.                                         ; SomeDecToVRAM+8p ...
  9.                 moveq   #0,d0
  10.                 move.w  #$7FF,d4
  11.                 moveq   #0,d5
  12.                 moveq   #0,d6
  13.                 move.w  a3,d7
  14.                 subq.w  #1,d2
  15.                 beq.w   loc_13A24
  16.                 subq.w  #1,d2
  17.                 beq.w   loc_139A6
  18.                 subq.w  #1,d2
  19.                 beq.w   loc_13928
  20.                 subq.w  #1,d2
  21.                 beq.w   loc_138AA
  22.                 subq.w  #1,d2
  23.                 beq.w   loc_1382E
  24.                 subq.w  #1,d2
  25.                 beq.w   loc_137B0
  26.                 subq.w  #1,d2
  27.                 beq.w   loc_13736
  28.  
  29. SomDec_BitPos0:                         ; CODE XREF: sub_13684+108j
  30.                                         ; sub_13684+2C0j ...
  31.                 move.b  (a0)+,d1
  32.                 add.b   d1,d1
  33.                 bcs.s   SomDec_BP0_DrcCpy
  34.                 move.l  a2,a6
  35.                 add.b   d1,d1
  36.                 bcs.s   SomDec_BP0_LongRef
  37.                 move.b  (a1)+,d5
  38.                 suba.l  d5,a6
  39.                 add.b   d1,d1
  40.                 bcc.s   loc_136D0
  41.                 move.b  (a6)+,(a2)+
  42.  
  43. loc_136D0:                              ; CODE XREF: sub_13684+48j
  44.                 move.b  (a6)+,(a2)+
  45.                 move.b  (a6)+,(a2)+
  46.                 cmp.w   a2,d7
  47.                 bls.s   loc_13724
  48.                 bra.w   loc_1382E
  49. ; ---------------------------------------------------------------------------
  50.  
  51. SomDec_BP0_LongRef:                     ; CODE XREF: sub_13684+40j
  52.                 lsl.w   #3,d1
  53.                 move.w  d1,d6
  54.                 and.w   d4,d6           ; d4 = $7FF
  55.                 move.b  (a1)+,d6
  56.                 suba.l  d6,a6
  57.                 add.b   d1,d1
  58.                 bcs.s   SomDec_BP0_LongRef_2or3
  59.                 add.b   d1,d1
  60.                 bcs.s   loc_13706
  61.                 bra.s   loc_13708
  62. ; ---------------------------------------------------------------------------
  63.  
  64. SomDec_BP0_LongRef_2or3:                ; CODE XREF: sub_13684+64j
  65.                 add.b   d1,d1
  66.                 bcc.s   SomDec_BP0_LongRef_2
  67.                 moveq   #0,d0
  68.                 move.b  (a1)+,d0        ; read amount of bytes
  69.                 beq.s   loc_13716
  70.                 subq.w  #6,d0
  71.                 bmi.s   loc_1371C
  72.  
  73. loc_136FE:                              ; CODE XREF: sub_13684+7Cj
  74.                 move.b  (a6)+,(a2)+
  75.                 dbf     d0,loc_136FE
  76.  
  77. SomDec_BP0_LongRef_2:                   ; CODE XREF: sub_13684+6Ej
  78.                 move.b  (a6)+,(a2)+
  79.  
  80. loc_13706:                              ; CODE XREF: sub_13684+68j
  81.                 move.b  (a6)+,(a2)+
  82.  
  83. loc_13708:                              ; CODE XREF: sub_13684+6Aj
  84.                 move.b  (a6)+,(a2)+
  85.                 move.b  (a6)+,(a2)+
  86.                 move.b  (a6)+,(a2)+
  87.                 cmp.w   a2,d7
  88.                 bls.s   loc_1372C
  89.                 bra.w   loc_13A24
  90. ; ---------------------------------------------------------------------------
  91.  
  92. loc_13716:                              ; CODE XREF: sub_13684+74j
  93.                 move.w  #0,d0
  94.                 rts
  95. ; ---------------------------------------------------------------------------
  96.  
  97. loc_1371C:                              ; CODE XREF: sub_13684+78j
  98.                 move.w  #$FFFF,d0
  99.                 moveq   #1,d2
  100.                 rts
  101. ; ---------------------------------------------------------------------------
  102.  
  103. loc_13724:                              ; CODE XREF: sub_13684+52j
  104.                 move.w  #1,d0
  105.                 moveq   #5,d2
  106.                 rts
  107. ; ---------------------------------------------------------------------------
  108.  
  109. loc_1372C:                              ; CODE XREF: sub_13684+8Cj
  110.                 move.w  #1,d0
  111.                 moveq   #1,d2
  112.                 rts
  113. ; ---------------------------------------------------------------------------
  114.  
  115. SomDec_BP0_DrcCpy:                      ; CODE XREF: sub_13684+3Aj
  116.                 move.b  (a1)+,(a2)+
  117.  
  118. loc_13736:                              ; CODE XREF: sub_13684+32j
  119.                                         ; sub_13684+186j ...
  120.                 add.b   d1,d1
  121.                 bcs.s   loc_137AE
  122.                 move.l  a2,a6
  123.                 add.b   d1,d1
  124.                 bcs.s   loc_13756
  125.                 move.b  (a1)+,d5
  126.                 suba.l  d5,a6
  127.                 add.b   d1,d1
  128.                 bcc.s   loc_1374A
  129.                 move.b  (a6)+,(a2)+
  130.  
  131. loc_1374A:                              ; CODE XREF: sub_13684+C2j
  132.                 move.b  (a6)+,(a2)+
  133.                 move.b  (a6)+,(a2)+
  134.                 cmp.w   a2,d7
  135.                 bls.s   loc_1379E
  136.                 bra.w   loc_138AA
  137. ; ---------------------------------------------------------------------------
  138.  
  139. loc_13756:                              ; CODE XREF: sub_13684+BAj
  140.                 lsl.w   #3,d1
  141.                 move.w  d1,d6
  142.                 and.w   d4,d6
  143.                 move.b  (a1)+,d6
  144.                 suba.l  d6,a6
  145.                 add.b   d1,d1
  146.                 bcs.s   loc_1376A
  147.                 add.b   d1,d1
  148.                 bcs.s   loc_13780
  149.                 bra.s   loc_13782
  150. ; ---------------------------------------------------------------------------
  151.  
  152. loc_1376A:                              ; CODE XREF: sub_13684+DEj
  153.                 add.b   d1,d1
  154.                 bcc.s   loc_1377E
  155.                 moveq   #0,d0
  156.                 move.b  (a1)+,d0
  157.                 beq.s   loc_13790
  158.                 subq.w  #6,d0
  159.                 bmi.s   loc_13796
  160.  
  161. loc_13778:                              ; CODE XREF: sub_13684+F6j
  162.                 move.b  (a6)+,(a2)+
  163.                 dbf     d0,loc_13778
  164.  
  165. loc_1377E:                              ; CODE XREF: sub_13684+E8j
  166.                 move.b  (a6)+,(a2)+
  167.  
  168. loc_13780:                              ; CODE XREF: sub_13684+E2j
  169.                 move.b  (a6)+,(a2)+
  170.  
  171. loc_13782:                              ; CODE XREF: sub_13684+E4j
  172.                 move.b  (a6)+,(a2)+
  173.                 move.b  (a6)+,(a2)+
  174.                 move.b  (a6)+,(a2)+
  175.                 cmp.w   a2,d7
  176.                 bls.s   loc_137A6
  177.                 bra.w   SomDec_BitPos0
  178. ; ---------------------------------------------------------------------------
  179.  
  180. loc_13790:                              ; CODE XREF: sub_13684+EEj
  181.                 move.w  #0,d0
  182.                 rts
  183. ; ---------------------------------------------------------------------------
  184.  
  185. loc_13796:                              ; CODE XREF: sub_13684+F2j
  186.                 move.w  #$FFFF,d0
  187.                 moveq   #0,d2
  188.                 rts
  189. ; ---------------------------------------------------------------------------
  190.  
  191. loc_1379E:                              ; CODE XREF: sub_13684+CCj
  192.                 move.w  #1,d0
  193.                 moveq   #4,d2
  194.                 rts
  195. ; ---------------------------------------------------------------------------
  196.  
  197. loc_137A6:                              ; CODE XREF: sub_13684+106j
  198.                 move.w  #1,d0
  199.                 moveq   #0,d2
  200.                 rts
  201. ; ---------------------------------------------------------------------------
  202.  
  203. loc_137AE:                              ; CODE XREF: sub_13684+B4j
  204.                 move.b  (a1)+,(a2)+
  205.  
  206. loc_137B0:                              ; CODE XREF: sub_13684+2Cj
  207.                                         ; sub_13684+202j ...
  208.                 add.b   d1,d1
  209.                 bcs.s   loc_1382C
  210.                 move.l  a2,a6
  211.                 add.b   d1,d1
  212.                 bcs.s   loc_137D0
  213.                 move.b  (a1)+,d5
  214.                 suba.l  d5,a6
  215.                 add.b   d1,d1
  216.                 bcc.s   loc_137C4
  217.                 move.b  (a6)+,(a2)+
  218.  
  219. loc_137C4:                              ; CODE XREF: sub_13684+13Cj
  220.                 move.b  (a6)+,(a2)+
  221.                 move.b  (a6)+,(a2)+
  222.                 cmp.w   a2,d7
  223.                 bls.s   loc_1381C
  224.                 bra.w   loc_13928
  225. ; ---------------------------------------------------------------------------
  226.  
  227. loc_137D0:                              ; CODE XREF: sub_13684+134j
  228.                 lsl.w   #3,d1
  229.                 move.w  d1,d6
  230.                 and.w   d4,d6
  231.                 move.b  (a1)+,d6
  232.                 suba.l  d6,a6
  233.                 add.b   d1,d1
  234.                 bcs.s   loc_137E6
  235.                 move.b  (a0)+,d1
  236.                 add.b   d1,d1
  237.                 bcs.s   loc_137FE
  238.                 bra.s   loc_13800
  239. ; ---------------------------------------------------------------------------
  240.  
  241. loc_137E6:                              ; CODE XREF: sub_13684+158j
  242.                 move.b  (a0)+,d1
  243.                 add.b   d1,d1
  244.                 bcc.s   loc_137FC
  245.                 moveq   #0,d0
  246.                 move.b  (a1)+,d0
  247.                 beq.s   loc_1380E
  248.                 subq.w  #6,d0
  249.                 bmi.s   loc_13814
  250.  
  251. loc_137F6:                              ; CODE XREF: sub_13684+174j
  252.                 move.b  (a6)+,(a2)+
  253.                 dbf     d0,loc_137F6
  254.  
  255. loc_137FC:                              ; CODE XREF: sub_13684+166j
  256.                 move.b  (a6)+,(a2)+
  257.  
  258. loc_137FE:                              ; CODE XREF: sub_13684+15Ej
  259.                 move.b  (a6)+,(a2)+
  260.  
  261. loc_13800:                              ; CODE XREF: sub_13684+160j
  262.                 move.b  (a6)+,(a2)+
  263.                 move.b  (a6)+,(a2)+
  264.                 move.b  (a6)+,(a2)+
  265.                 cmp.w   a2,d7
  266.                 bls.s   loc_13824
  267.                 bra.w   loc_13736
  268. ; ---------------------------------------------------------------------------
  269.  
  270. loc_1380E:                              ; CODE XREF: sub_13684+16Cj
  271.                 move.w  #0,d0
  272.                 rts
  273. ; ---------------------------------------------------------------------------
  274.  
  275. loc_13814:                              ; CODE XREF: sub_13684+170j
  276.                 move.w  #$FFFF,d0
  277.                 moveq   #7,d2
  278.                 rts
  279. ; ---------------------------------------------------------------------------
  280.  
  281. loc_1381C:                              ; CODE XREF: sub_13684+146j
  282.                 move.w  #1,d0
  283.                 moveq   #3,d2
  284.                 rts
  285. ; ---------------------------------------------------------------------------
  286.  
  287. loc_13824:                              ; CODE XREF: sub_13684+184j
  288.                 move.w  #1,d0
  289.                 moveq   #7,d2
  290.                 rts
  291. ; ---------------------------------------------------------------------------
  292.  
  293. loc_1382C:                              ; CODE XREF: sub_13684+12Ej
  294.                 move.b  (a1)+,(a2)+
  295.  
  296. loc_1382E:                              ; CODE XREF: sub_13684+26j
  297.                                         ; sub_13684+54j ...
  298.                 add.b   d1,d1
  299.                 bcs.s   loc_138A8
  300.                 move.l  a2,a6
  301.                 add.b   d1,d1
  302.                 bcs.s   loc_1384E
  303.                 move.b  (a1)+,d5
  304.                 suba.l  d5,a6
  305.                 add.b   d1,d1
  306.                 bcc.s   loc_13842
  307.                 move.b  (a6)+,(a2)+
  308.  
  309. loc_13842:                              ; CODE XREF: sub_13684+1BAj
  310.                 move.b  (a6)+,(a2)+
  311.                 move.b  (a6)+,(a2)+
  312.                 cmp.w   a2,d7
  313.                 bls.s   loc_13898
  314.                 bra.w   loc_139A6
  315. ; ---------------------------------------------------------------------------
  316.  
  317. loc_1384E:                              ; CODE XREF: sub_13684+1B2j
  318.                 lsl.w   #3,d1
  319.                 move.b  (a0)+,d1
  320.                 move.w  d1,d6
  321.                 and.w   d4,d6
  322.                 move.b  (a1)+,d6
  323.                 suba.l  d6,a6
  324.                 add.b   d1,d1
  325.                 bcs.s   loc_13864
  326.                 add.b   d1,d1
  327.                 bcs.s   loc_1387A
  328.                 bra.s   loc_1387C
  329. ; ---------------------------------------------------------------------------
  330.  
  331. loc_13864:                              ; CODE XREF: sub_13684+1D8j
  332.                 add.b   d1,d1
  333.                 bcc.s   loc_13878
  334.                 moveq   #0,d0
  335.                 move.b  (a1)+,d0
  336.                 beq.s   loc_1388A
  337.                 subq.w  #6,d0
  338.                 bmi.s   loc_13890
  339.  
  340. loc_13872:                              ; CODE XREF: sub_13684+1F0j
  341.                 move.b  (a6)+,(a2)+
  342.                 dbf     d0,loc_13872
  343.  
  344. loc_13878:                              ; CODE XREF: sub_13684+1E2j
  345.                 move.b  (a6)+,(a2)+
  346.  
  347. loc_1387A:                              ; CODE XREF: sub_13684+1DCj
  348.                 move.b  (a6)+,(a2)+
  349.  
  350. loc_1387C:                              ; CODE XREF: sub_13684+1DEj
  351.                 move.b  (a6)+,(a2)+
  352.                 move.b  (a6)+,(a2)+
  353.                 move.b  (a6)+,(a2)+
  354.                 cmp.w   a2,d7
  355.                 bls.s   loc_138A0
  356.                 bra.w   loc_137B0
  357. ; ---------------------------------------------------------------------------
  358.  
  359. loc_1388A:                              ; CODE XREF: sub_13684+1E8j
  360.                 move.w  #0,d0
  361.                 rts
  362. ; ---------------------------------------------------------------------------
  363.  
  364. loc_13890:                              ; CODE XREF: sub_13684+1ECj
  365.                 move.w  #$FFFF,d0
  366.                 moveq   #6,d2
  367.                 rts
  368. ; ---------------------------------------------------------------------------
  369.  
  370. loc_13898:                              ; CODE XREF: sub_13684+1C4j
  371.                 move.w  #1,d0
  372.                 moveq   #2,d2
  373.                 rts
  374. ; ---------------------------------------------------------------------------
  375.  
  376. loc_138A0:                              ; CODE XREF: sub_13684+200j
  377.                 move.w  #1,d0
  378.                 moveq   #6,d2
  379.                 rts
  380. ; ---------------------------------------------------------------------------
  381.  
  382. loc_138A8:                              ; CODE XREF: sub_13684+1ACj
  383.                 move.b  (a1)+,(a2)+
  384.  
  385. loc_138AA:                              ; CODE XREF: sub_13684+20j
  386.                                         ; sub_13684+CEj ...
  387.                 add.b   d1,d1
  388.                 bcs.s   loc_13926
  389.                 move.l  a2,a6
  390.                 add.b   d1,d1
  391.                 bcs.s   loc_138CA
  392.                 move.b  (a1)+,d5
  393.                 suba.l  d5,a6
  394.                 add.b   d1,d1
  395.                 bcc.s   loc_138BE
  396.                 move.b  (a6)+,(a2)+
  397.  
  398. loc_138BE:                              ; CODE XREF: sub_13684+236j
  399.                 move.b  (a6)+,(a2)+
  400.                 move.b  (a6)+,(a2)+
  401.                 cmp.w   a2,d7
  402.                 bls.s   loc_13916
  403.                 bra.w   loc_13A24
  404. ; ---------------------------------------------------------------------------
  405.  
  406. loc_138CA:                              ; CODE XREF: sub_13684+22Ej
  407.                 lsl.w   #2,d1
  408.                 move.b  (a0)+,d1
  409.                 add.w   d1,d1
  410.                 move.w  d1,d6
  411.                 and.w   d4,d6
  412.                 move.b  (a1)+,d6
  413.                 suba.l  d6,a6
  414.                 add.b   d1,d1
  415.                 bcs.s   loc_138E2
  416.                 add.b   d1,d1
  417.                 bcs.s   loc_138F8
  418.                 bra.s   loc_138FA
  419. ; ---------------------------------------------------------------------------
  420.  
  421. loc_138E2:                              ; CODE XREF: sub_13684+256j
  422.                 add.b   d1,d1
  423.                 bcc.s   loc_138F6
  424.                 moveq   #0,d0
  425.                 move.b  (a1)+,d0
  426.                 beq.s   loc_13908
  427.                 subq.w  #6,d0
  428.                 bmi.s   loc_1390E
  429.  
  430. loc_138F0:                              ; CODE XREF: sub_13684+26Ej
  431.                 move.b  (a6)+,(a2)+
  432.                 dbf     d0,loc_138F0
  433.  
  434. loc_138F6:                              ; CODE XREF: sub_13684+260j
  435.                 move.b  (a6)+,(a2)+
  436.  
  437. loc_138F8:                              ; CODE XREF: sub_13684+25Aj
  438.                 move.b  (a6)+,(a2)+
  439.  
  440. loc_138FA:                              ; CODE XREF: sub_13684+25Cj
  441.                 move.b  (a6)+,(a2)+
  442.                 move.b  (a6)+,(a2)+
  443.                 move.b  (a6)+,(a2)+
  444.                 cmp.w   a2,d7
  445.                 bls.s   loc_1391E
  446.                 bra.w   loc_1382E
  447. ; ---------------------------------------------------------------------------
  448.  
  449. loc_13908:                              ; CODE XREF: sub_13684+266j
  450.                 move.w  #0,d0
  451.                 rts
  452. ; ---------------------------------------------------------------------------
  453.  
  454. loc_1390E:                              ; CODE XREF: sub_13684+26Aj
  455.                 move.w  #$FFFF,d0
  456.                 moveq   #5,d2
  457.                 rts
  458. ; ---------------------------------------------------------------------------
  459.  
  460. loc_13916:                              ; CODE XREF: sub_13684+240j
  461.                 move.w  #1,d0
  462.                 moveq   #1,d2
  463.                 rts
  464. ; ---------------------------------------------------------------------------
  465.  
  466. loc_1391E:                              ; CODE XREF: sub_13684+27Ej
  467.                 move.w  #1,d0
  468.                 moveq   #5,d2
  469.                 rts
  470. ; ---------------------------------------------------------------------------
  471.  
  472. loc_13926:                              ; CODE XREF: sub_13684+228j
  473.                 move.b  (a1)+,(a2)+
  474.  
  475. loc_13928:                              ; CODE XREF: sub_13684+1Aj
  476.                                         ; sub_13684+148j ...
  477.                 add.b   d1,d1
  478.                 bcs.s   loc_139A4
  479.                 move.l  a2,a6
  480.                 add.b   d1,d1
  481.                 bcs.s   loc_13948
  482.                 move.b  (a1)+,d5
  483.                 suba.l  d5,a6
  484.                 add.b   d1,d1
  485.                 bcc.s   loc_1393C
  486.                 move.b  (a6)+,(a2)+
  487.  
  488. loc_1393C:                              ; CODE XREF: sub_13684+2B4j
  489.                 move.b  (a6)+,(a2)+
  490.                 move.b  (a6)+,(a2)+
  491.                 cmp.w   a2,d7
  492.                 bls.s   loc_13994
  493.                 bra.w   SomDec_BitPos0
  494. ; ---------------------------------------------------------------------------
  495.  
  496. loc_13948:                              ; CODE XREF: sub_13684+2ACj
  497.                 add.w   d1,d1
  498.                 move.b  (a0)+,d1
  499.                 lsl.w   #2,d1
  500.                 move.w  d1,d6
  501.                 and.w   d4,d6
  502.                 move.b  (a1)+,d6
  503.                 suba.l  d6,a6
  504.                 add.b   d1,d1
  505.                 bcs.s   loc_13960
  506.                 add.b   d1,d1
  507.                 bcs.s   loc_13976
  508.                 bra.s   loc_13978
  509. ; ---------------------------------------------------------------------------
  510.  
  511. loc_13960:                              ; CODE XREF: sub_13684+2D4j
  512.                 add.b   d1,d1
  513.                 bcc.s   loc_13974
  514.                 moveq   #0,d0
  515.                 move.b  (a1)+,d0
  516.                 beq.s   loc_13986
  517.                 subq.w  #6,d0
  518.                 bmi.s   loc_1398C
  519.  
  520. loc_1396E:                              ; CODE XREF: sub_13684+2ECj
  521.                 move.b  (a6)+,(a2)+
  522.                 dbf     d0,loc_1396E
  523.  
  524. loc_13974:                              ; CODE XREF: sub_13684+2DEj
  525.                 move.b  (a6)+,(a2)+
  526.  
  527. loc_13976:                              ; CODE XREF: sub_13684+2D8j
  528.                 move.b  (a6)+,(a2)+
  529.  
  530. loc_13978:                              ; CODE XREF: sub_13684+2DAj
  531.                 move.b  (a6)+,(a2)+
  532.                 move.b  (a6)+,(a2)+
  533.                 move.b  (a6)+,(a2)+
  534.                 cmp.w   a2,d7
  535.                 bls.s   loc_1399C
  536.                 bra.w   loc_138AA
  537. ; ---------------------------------------------------------------------------
  538.  
  539. loc_13986:                              ; CODE XREF: sub_13684+2E4j
  540.                 move.w  #0,d0
  541.                 rts
  542. ; ---------------------------------------------------------------------------
  543.  
  544. loc_1398C:                              ; CODE XREF: sub_13684+2E8j
  545.                 move.w  #$FFFF,d0
  546.                 moveq   #4,d2
  547.                 rts
  548. ; ---------------------------------------------------------------------------
  549.  
  550. loc_13994:                              ; CODE XREF: sub_13684+2BEj
  551.                 move.w  #1,d0
  552.                 moveq   #8,d2
  553.                 rts
  554. ; ---------------------------------------------------------------------------
  555.  
  556. loc_1399C:                              ; CODE XREF: sub_13684+2FCj
  557.                 move.w  #1,d0
  558.                 moveq   #4,d2
  559.                 rts
  560. ; ---------------------------------------------------------------------------
  561.  
  562. loc_139A4:                              ; CODE XREF: sub_13684+2A6j
  563.                 move.b  (a1)+,(a2)+
  564.  
  565. loc_139A6:                              ; CODE XREF: sub_13684+14j
  566.                                         ; sub_13684+1C6j ...
  567.                 add.b   d1,d1
  568.                 bcs.s   loc_13A22
  569.                 move.l  a2,a6
  570.                 add.b   d1,d1
  571.                 bcs.s   loc_139C8
  572.                 move.b  (a0)+,d1
  573.                 move.b  (a1)+,d5
  574.                 suba.l  d5,a6
  575.                 add.b   d1,d1
  576.                 bcc.s   loc_139BC
  577.                 move.b  (a6)+,(a2)+
  578.  
  579. loc_139BC:                              ; CODE XREF: sub_13684+334j
  580.                 move.b  (a6)+,(a2)+
  581.                 move.b  (a6)+,(a2)+
  582.                 cmp.w   a2,d7
  583.                 bls.s   loc_13A12
  584.                 bra.w   loc_13736
  585. ; ---------------------------------------------------------------------------
  586.  
  587. loc_139C8:                              ; CODE XREF: sub_13684+32Aj
  588.                 move.b  (a0)+,d1
  589.                 lsl.w   #3,d1
  590.                 move.w  d1,d6
  591.                 and.w   d4,d6
  592.                 move.b  (a1)+,d6
  593.                 suba.l  d6,a6
  594.                 add.b   d1,d1
  595.                 bcs.s   loc_139DE
  596.                 add.b   d1,d1
  597.                 bcs.s   loc_139F4
  598.                 bra.s   loc_139F6
  599. ; ---------------------------------------------------------------------------
  600.  
  601. loc_139DE:                              ; CODE XREF: sub_13684+352j
  602.                 add.b   d1,d1
  603.                 bcc.s   loc_139F2
  604.                 moveq   #0,d0
  605.                 move.b  (a1)+,d0
  606.                 beq.s   loc_13A04
  607.                 subq.w  #6,d0
  608.                 bmi.s   loc_13A0A
  609.  
  610. loc_139EC:                              ; CODE XREF: sub_13684+36Aj
  611.                 move.b  (a6)+,(a2)+
  612.                 dbf     d0,loc_139EC
  613.  
  614. loc_139F2:                              ; CODE XREF: sub_13684+35Cj
  615.                 move.b  (a6)+,(a2)+
  616.  
  617. loc_139F4:                              ; CODE XREF: sub_13684+356j
  618.                 move.b  (a6)+,(a2)+
  619.  
  620. loc_139F6:                              ; CODE XREF: sub_13684+358j
  621.                 move.b  (a6)+,(a2)+
  622.                 move.b  (a6)+,(a2)+
  623.                 move.b  (a6)+,(a2)+
  624.                 cmp.w   a2,d7
  625.                 bls.s   loc_13A1A
  626.                 bra.w   loc_13928
  627. ; ---------------------------------------------------------------------------
  628.  
  629. loc_13A04:                              ; CODE XREF: sub_13684+362j
  630.                 move.w  #0,d0
  631.                 rts
  632. ; ---------------------------------------------------------------------------
  633.  
  634. loc_13A0A:                              ; CODE XREF: sub_13684+366j
  635.                 move.w  #$FFFF,d0
  636.                 moveq   #3,d2
  637.                 rts
  638. ; ---------------------------------------------------------------------------
  639.  
  640. loc_13A12:                              ; CODE XREF: sub_13684+33Ej
  641.                 move.w  #1,d0
  642.                 moveq   #7,d2
  643.                 rts
  644. ; ---------------------------------------------------------------------------
  645.  
  646. loc_13A1A:                              ; CODE XREF: sub_13684+37Aj
  647.                 move.w  #1,d0
  648.                 moveq   #3,d2
  649.                 rts
  650. ; ---------------------------------------------------------------------------
  651.  
  652. loc_13A22:                              ; CODE XREF: sub_13684+324j
  653.                 move.b  (a1)+,(a2)+
  654.  
  655. loc_13A24:                              ; CODE XREF: sub_13684+Ej
  656.                                         ; sub_13684+8Ej ...
  657.                 add.b   d1,d1
  658.                 bcs.s   loc_13A9E
  659.                 move.b  (a0)+,d1
  660.                 move.l  a2,a6
  661.                 add.b   d1,d1
  662.                 bcs.s   loc_13A46
  663.                 move.b  (a1)+,d5
  664.                 suba.l  d5,a6
  665.                 add.b   d1,d1
  666.                 bcc.s   loc_13A3A
  667.                 move.b  (a6)+,(a2)+
  668.  
  669. loc_13A3A:                              ; CODE XREF: sub_13684+3B2j
  670.                 move.b  (a6)+,(a2)+
  671.                 move.b  (a6)+,(a2)+
  672.                 cmp.w   a2,d7
  673.                 bls.s   loc_13A8E
  674.                 bra.w   loc_137B0
  675. ; ---------------------------------------------------------------------------
  676.  
  677. loc_13A46:                              ; CODE XREF: sub_13684+3AAj
  678.                 lsl.w   #3,d1
  679.                 move.w  d1,d6
  680.                 and.w   d4,d6
  681.                 move.b  (a1)+,d6
  682.                 suba.l  d6,a6
  683.                 add.b   d1,d1
  684.                 bcs.s   loc_13A5A
  685.                 add.b   d1,d1
  686.                 bcs.s   loc_13A70
  687.                 bra.s   loc_13A72
  688. ; ---------------------------------------------------------------------------
  689.  
  690. loc_13A5A:                              ; CODE XREF: sub_13684+3CEj
  691.                 add.b   d1,d1
  692.                 bcc.s   loc_13A6E
  693.                 moveq   #0,d0
  694.                 move.b  (a1)+,d0
  695.                 beq.s   loc_13A80
  696.                 subq.w  #6,d0
  697.                 bmi.s   loc_13A86
  698.  
  699. loc_13A68:                              ; CODE XREF: sub_13684+3E6j
  700.                 move.b  (a6)+,(a2)+
  701.                 dbf     d0,loc_13A68
  702.  
  703. loc_13A6E:                              ; CODE XREF: sub_13684+3D8j
  704.                 move.b  (a6)+,(a2)+
  705.  
  706. loc_13A70:                              ; CODE XREF: sub_13684+3D2j
  707.                 move.b  (a6)+,(a2)+
  708.  
  709. loc_13A72:                              ; CODE XREF: sub_13684+3D4j
  710.                 move.b  (a6)+,(a2)+
  711.                 move.b  (a6)+,(a2)+
  712.                 move.b  (a6)+,(a2)+
  713.                 cmp.w   a2,d7
  714.                 bls.s   loc_13A96
  715.                 bra.w   loc_139A6
  716. ; ---------------------------------------------------------------------------
  717.  
  718. loc_13A80:                              ; CODE XREF: sub_13684+3DEj
  719.                 move.w  #0,d0
  720.                 rts
  721. ; ---------------------------------------------------------------------------
  722.  
  723. loc_13A86:                              ; CODE XREF: sub_13684+3E2j
  724.                 move.w  #$FFFF,d0
  725.                 moveq   #2,d2
  726.                 rts
  727. ; ---------------------------------------------------------------------------
  728.  
  729. loc_13A8E:                              ; CODE XREF: sub_13684+3BCj
  730.                 move.w  #1,d0
  731.                 moveq   #6,d2
  732.                 rts
  733. ; ---------------------------------------------------------------------------
  734.  
  735. loc_13A96:                              ; CODE XREF: sub_13684+3F6j
  736.                 move.w  #1,d0
  737.                 moveq   #2,d2
  738.                 rts
  739. ; ---------------------------------------------------------------------------
  740.  
  741. loc_13A9E:                              ; CODE XREF: sub_13684+3A2j
  742.                 move.b  (a1)+,(a2)+
  743.                 bra.w   SomDec_BitPos0
  744. ; End of function sub_13684
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement