utils.lst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639
  1. GAS LISTING /tmp/ccdpm2ic.s page 1
  2. 1 .file "utils.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.DecodeHex,"ax",@progbits
  10. 9 .type DecodeHex, @function
  11. 10 DecodeHex:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 0000 90ED ldi r25,lo8(-48)
  17. 16 0002 980F add r25,r24
  18. 17 0004 9A30 cpi r25,lo8(10)
  19. 18 0006 00F4 brsh .L2
  20. 19 0008 082E mov __tmp_reg__,r24
  21. 20 000a 000C lsl r0
  22. 21 000c 990B sbc r25,r25
  23. 22 000e C097 sbiw r24,48
  24. 23 0010 0895 ret
  25. 24 .L2:
  26. 25 0012 9FE9 ldi r25,lo8(-97)
  27. 26 0014 980F add r25,r24
  28. 27 0016 9630 cpi r25,lo8(6)
  29. 28 0018 00F4 brsh .L4
  30. 29 001a 082E mov __tmp_reg__,r24
  31. 30 001c 000C lsl r0
  32. 31 001e 990B sbc r25,r25
  33. 32 0020 8755 subi r24,87
  34. 33 0022 9109 sbc r25,__zero_reg__
  35. 34 0024 0895 ret
  36. 35 .L4:
  37. 36 0026 9FEB ldi r25,lo8(-65)
  38. 37 0028 980F add r25,r24
  39. 38 002a 9630 cpi r25,lo8(6)
  40. 39 002c 00F4 brsh .L5
  41. 40 002e 082E mov __tmp_reg__,r24
  42. 41 0030 000C lsl r0
  43. 42 0032 990B sbc r25,r25
  44. 43 0034 C797 sbiw r24,55
  45. 44 0036 0895 ret
  46. 45 .L5:
  47. 46 0038 8FEF ldi r24,lo8(-1)
  48. 47 003a 9FEF ldi r25,lo8(-1)
  49. 48 003c 0895 ret
  50. 49 .size DecodeHex, .-DecodeHex
  51. 50 .section .text.HttpUrlUnescape,"ax",@progbits
  52. 51 .global HttpUrlUnescape
  53. 52 .type HttpUrlUnescape, @function
  54. 53 HttpUrlUnescape:
  55. 54 0000 DF92 push r13
  56. 55 0002 EF92 push r14
  57. 56 0004 FF92 push r15
  58. 57 0006 0F93 push r16
  59. GAS LISTING /tmp/ccdpm2ic.s page 2
  60. 58 0008 1F93 push r17
  61. 59 000a CF93 push r28
  62. 60 000c DF93 push r29
  63. 61 000e 00D0 rcall .
  64. 62 0010 CDB7 in r28,__SP_L__
  65. 63 0012 DEB7 in r29,__SP_H__
  66. 64 /* prologue: function */
  67. 65 /* frame size = 3 */
  68. 66 /* stack size = 10 */
  69. 67 .L__stack_usage = 10
  70. 68 0014 8C01 movw r16,r24
  71. 69 0016 1B82 std Y+3,__zero_reg__
  72. 70 0018 7C01 movw r14,r24
  73. 71 001a 80E2 ldi r24,lo8(32)
  74. 72 001c D82E mov r13,r24
  75. 73 .L8:
  76. 74 001e F801 movw r30,r16
  77. 75 0020 8081 ld r24,Z
  78. 76 0022 8823 tst r24
  79. 77 0024 01F0 breq .L13
  80. 78 0026 8B32 cpi r24,lo8(43)
  81. 79 0028 01F4 brne .L9
  82. 80 002a F701 movw r30,r14
  83. 81 002c D082 st Z,r13
  84. 82 002e 00C0 rjmp .L10
  85. 83 .L9:
  86. 84 0030 8532 cpi r24,lo8(37)
  87. 85 0032 01F4 brne .L11
  88. 86 0034 F801 movw r30,r16
  89. 87 0036 8181 ldd r24,Z+1
  90. 88 0038 8983 std Y+1,r24
  91. 89 003a 8281 ldd r24,Z+2
  92. 90 003c 8A83 std Y+2,r24
  93. 91 003e 40E1 ldi r20,lo8(16)
  94. 92 0040 50E0 ldi r21,0
  95. 93 0042 60E0 ldi r22,0
  96. 94 0044 70E0 ldi r23,0
  97. 95 0046 CE01 movw r24,r28
  98. 96 0048 0196 adiw r24,1
  99. 97 004a 0E94 0000 call strtol
  100. 98 004e F701 movw r30,r14
  101. 99 0050 6083 st Z,r22
  102. 100 0052 0E5F subi r16,-2
  103. 101 0054 1F4F sbci r17,-1
  104. 102 0056 00C0 rjmp .L10
  105. 103 .L11:
  106. 104 0058 F701 movw r30,r14
  107. 105 005a 8083 st Z,r24
  108. 106 .L10:
  109. 107 005c 0F5F subi r16,-1
  110. 108 005e 1F4F sbci r17,-1
  111. 109 0060 FFEF ldi r31,-1
  112. 110 0062 EF1A sub r14,r31
  113. 111 0064 FF0A sbc r15,r31
  114. 112 0066 00C0 rjmp .L8
  115. 113 .L13:
  116. 114 0068 F701 movw r30,r14
  117. GAS LISTING /tmp/ccdpm2ic.s page 3
  118. 115 006a 1082 st Z,__zero_reg__
  119. 116 /* epilogue start */
  120. 117 006c 0F90 pop __tmp_reg__
  121. 118 006e 0F90 pop __tmp_reg__
  122. 119 0070 0F90 pop __tmp_reg__
  123. 120 0072 DF91 pop r29
  124. 121 0074 CF91 pop r28
  125. 122 0076 1F91 pop r17
  126. 123 0078 0F91 pop r16
  127. 124 007a FF90 pop r15
  128. 125 007c EF90 pop r14
  129. 126 007e DF90 pop r13
  130. 127 0080 0895 ret
  131. 128 .size HttpUrlUnescape, .-HttpUrlUnescape
  132. 129 .section .text.UriUnescape,"ax",@progbits
  133. 130 .global UriUnescape
  134. 131 .type UriUnescape, @function
  135. 132 UriUnescape:
  136. 133 0000 8F92 push r8
  137. 134 0002 9F92 push r9
  138. 135 0004 AF92 push r10
  139. 136 0006 BF92 push r11
  140. 137 0008 CF92 push r12
  141. 138 000a DF92 push r13
  142. 139 000c EF92 push r14
  143. 140 000e FF92 push r15
  144. 141 0010 0F93 push r16
  145. 142 0012 1F93 push r17
  146. 143 0014 CF93 push r28
  147. 144 0016 DF93 push r29
  148. 145 /* prologue: function */
  149. 146 /* frame size = 0 */
  150. 147 /* stack size = 12 */
  151. 148 .L__stack_usage = 12
  152. 149 0018 8C01 movw r16,r24
  153. 150 001a FC01 movw r30,r24
  154. 151 001c B080 ld r11,Z
  155. 152 001e FFE2 ldi r31,lo8(47)
  156. 153 0020 BF12 cpse r11,r31
  157. 154 0022 00C0 rjmp .L23
  158. 155 0024 6C01 movw r12,r24
  159. 156 0026 EC01 movw r28,r24
  160. 157 0028 8FE2 ldi r24,lo8(47)
  161. 158 002a A82E mov r10,r24
  162. 159 .L16:
  163. 160 002c 7E01 movw r14,r28
  164. 161 002e 9FEF ldi r25,-1
  165. 162 0030 E91A sub r14,r25
  166. 163 0032 F90A sbc r15,r25
  167. 164 0034 8981 ldd r24,Y+1
  168. 165 0036 8823 tst r24
  169. 166 0038 01F0 breq .L22
  170. 167 003a 8532 cpi r24,lo8(37)
  171. 168 003c 01F4 brne .L17
  172. 169 003e 8A81 ldd r24,Y+2
  173. 170 0040 0E94 0000 call DecodeHex
  174. 171 0044 4C01 movw r8,r24
  175. GAS LISTING /tmp/ccdpm2ic.s page 4
  176. 172 0046 97FD sbrc r25,7
  177. 173 0048 00C0 rjmp .L17
  178. 174 004a 8B81 ldd r24,Y+3
  179. 175 004c 0E94 0000 call DecodeHex
  180. 176 0050 97FD sbrc r25,7
  181. 177 0052 00C0 rjmp .L17
  182. 178 0054 7E01 movw r14,r28
  183. 179 0056 23E0 ldi r18,3
  184. 180 0058 E20E add r14,r18
  185. 181 005a F11C adc r15,__zero_reg__
  186. 182 005c E0E1 ldi r30,lo8(16)
  187. 183 005e 8E9E mul r8,r30
  188. 184 0060 800D add r24,r0
  189. 185 0062 1124 clr __zero_reg__
  190. 186 0064 8B83 std Y+3,r24
  191. 187 0066 8111 cpse r24,__zero_reg__
  192. 188 0068 00C0 rjmp .L17
  193. 189 .L22:
  194. 190 006a F601 movw r30,r12
  195. 191 006c 1082 st Z,__zero_reg__
  196. 192 006e C801 movw r24,r16
  197. 193 0070 00C0 rjmp .L15
  198. 194 .L17:
  199. 195 0072 F701 movw r30,r14
  200. 196 0074 8081 ld r24,Z
  201. 197 0076 8C35 cpi r24,lo8(92)
  202. 198 0078 01F4 brne .L18
  203. 199 007a A082 st Z,r10
  204. 200 .L18:
  205. 201 007c F701 movw r30,r14
  206. 202 007e 9081 ld r25,Z
  207. 203 0080 82ED ldi r24,lo8(-46)
  208. 204 0082 8B0D add r24,r11
  209. 205 0084 8230 cpi r24,lo8(2)
  210. 206 0086 00F4 brsh .L19
  211. 207 0088 82ED ldi r24,lo8(-46)
  212. 208 008a 890F add r24,r25
  213. 209 008c 8230 cpi r24,lo8(2)
  214. 210 008e 00F0 brlo .L20
  215. 211 .L19:
  216. 212 0090 B92E mov r11,r25
  217. 213 0092 F601 movw r30,r12
  218. 214 0094 9083 st Z,r25
  219. 215 0096 C601 movw r24,r12
  220. 216 0098 0196 adiw r24,1
  221. 217 009a 6C01 movw r12,r24
  222. 218 .L20:
  223. 219 009c E701 movw r28,r14
  224. 220 009e 00C0 rjmp .L16
  225. 221 .L23:
  226. 222 00a0 80E0 ldi r24,0
  227. 223 00a2 90E0 ldi r25,0
  228. 224 .L15:
  229. 225 /* epilogue start */
  230. 226 00a4 DF91 pop r29
  231. 227 00a6 CF91 pop r28
  232. 228 00a8 1F91 pop r17
  233. GAS LISTING /tmp/ccdpm2ic.s page 5
  234. 229 00aa 0F91 pop r16
  235. 230 00ac FF90 pop r15
  236. 231 00ae EF90 pop r14
  237. 232 00b0 DF90 pop r13
  238. 233 00b2 CF90 pop r12
  239. 234 00b4 BF90 pop r11
  240. 235 00b6 AF90 pop r10
  241. 236 00b8 9F90 pop r9
  242. 237 00ba 8F90 pop r8
  243. 238 00bc 0895 ret
  244. 239 .size UriUnescape, .-UriUnescape
  245. 240 .section .text.HttpDecodeBase64,"ax",@progbits
  246. 241 .global HttpDecodeBase64
  247. 242 .type HttpDecodeBase64, @function
  248. 243 HttpDecodeBase64:
  249. 244 0000 CF93 push r28
  250. 245 0002 DF93 push r29
  251. 246 /* prologue: function */
  252. 247 /* frame size = 0 */
  253. 248 /* stack size = 2 */
  254. 249 .L__stack_usage = 2
  255. 250 0004 C82F mov r28,r24
  256. 251 0006 D92F mov r29,r25
  257. 252 0008 FC01 movw r30,r24
  258. 253 000a 20E0 ldi r18,0
  259. 254 000c 3FEF ldi r19,lo8(-1)
  260. 255 .L25:
  261. 256 000e A991 ld r26,Y+
  262. 257 0010 AA23 tst r26
  263. 258 0012 01F0 breq .L36
  264. 259 0014 A032 cpi r26,lo8(32)
  265. 260 0016 04F0 brlt .L32
  266. 261 0018 0A2E mov __tmp_reg__,r26
  267. 262 001a 000C lsl r0
  268. 263 001c BB0B sbc r27,r27
  269. 264 001e A050 subi r26,lo8(-(base64dtab-32))
  270. 265 0020 B040 sbci r27,hi8(-(base64dtab-32))
  271. 266 0022 4C91 ld r20,X
  272. 267 0024 4F3F cpi r20,lo8(-1)
  273. 268 0026 01F0 breq .L32
  274. 269 0028 51E0 ldi r21,lo8(1)
  275. 270 002a 520F add r21,r18
  276. 271 002c 2230 cpi r18,lo8(2)
  277. 272 002e 01F0 breq .L27
  278. 273 0030 2330 cpi r18,lo8(3)
  279. 274 0032 01F0 breq .L28
  280. 275 0034 2130 cpi r18,lo8(1)
  281. 276 0036 01F4 brne .L34
  282. 277 0038 242F mov r18,r20
  283. 278 003a 2073 andi r18,lo8(48)
  284. 279 003c 622F mov r22,r18
  285. 280 003e 6295 swap r22
  286. 281 0040 6F70 andi r22,lo8(15)
  287. 282 0042 74E0 ldi r23,lo8(4)
  288. 283 0044 00C0 rjmp .L35
  289. 284 .L27:
  290. 285 0046 242F mov r18,r20
  291. GAS LISTING /tmp/ccdpm2ic.s page 6
  292. 286 0048 2C73 andi r18,lo8(60)
  293. 287 004a 622F mov r22,r18
  294. 288 004c 6695 lsr r22
  295. 289 004e 6695 lsr r22
  296. 290 0050 70E1 ldi r23,lo8(16)
  297. 291 .L35:
  298. 292 0052 3702 muls r19,r23
  299. 293 0054 9001 movw r18,r0
  300. 294 0056 1124 clr __zero_reg__
  301. 295 0058 262B or r18,r22
  302. 296 005a 2083 st Z,r18
  303. 297 005c 252F mov r18,r21
  304. 298 005e 3196 adiw r30,1
  305. 299 0060 00C0 rjmp .L26
  306. 300 .L28:
  307. 301 0062 50E4 ldi r21,lo8(64)
  308. 302 0064 3502 muls r19,r21
  309. 303 0066 9001 movw r18,r0
  310. 304 0068 1124 clr __zero_reg__
  311. 305 006a 242B or r18,r20
  312. 306 006c 2083 st Z,r18
  313. 307 006e 3196 adiw r30,1
  314. 308 0070 20E0 ldi r18,0
  315. 309 0072 00C0 rjmp .L26
  316. 310 .L32:
  317. 311 0074 432F mov r20,r19
  318. 312 0076 00C0 rjmp .L26
  319. 313 .L34:
  320. 314 0078 252F mov r18,r21
  321. 315 .L26:
  322. 316 007a 342F mov r19,r20
  323. 317 007c 00C0 rjmp .L25
  324. 318 .L36:
  325. 319 007e 1082 st Z,__zero_reg__
  326. 320 /* epilogue start */
  327. 321 0080 DF91 pop r29
  328. 322 0082 CF91 pop r28
  329. 323 0084 0895 ret
  330. 324 .size HttpDecodeBase64, .-HttpDecodeBase64
  331. 325 .section .text.AllocConcatStrings,"ax",@progbits
  332. 326 .global AllocConcatStrings
  333. 327 .type AllocConcatStrings, @function
  334. 328 AllocConcatStrings:
  335. 329 0000 CF92 push r12
  336. 330 0002 DF92 push r13
  337. 331 0004 EF92 push r14
  338. 332 0006 FF92 push r15
  339. 333 0008 0F93 push r16
  340. 334 000a 1F93 push r17
  341. 335 000c CF93 push r28
  342. 336 000e DF93 push r29
  343. 337 0010 CDB7 in r28,__SP_L__
  344. 338 0012 DEB7 in r29,__SP_H__
  345. 339 /* prologue: function */
  346. 340 /* frame size = 0 */
  347. 341 /* stack size = 8 */
  348. 342 .L__stack_usage = 8
  349. GAS LISTING /tmp/ccdpm2ic.s page 7
  350. 343 0014 8E01 movw r16,r28
  351. 344 0016 045F subi r16,-12
  352. 345 0018 1F4F sbci r17,-1
  353. 346 001a F801 movw r30,r16
  354. 347 001c E190 ld r14,Z+
  355. 348 001e F190 ld r15,Z+
  356. 349 0020 8F01 movw r16,r30
  357. 350 0022 D701 movw r26,r14
  358. 351 0:
  359. 352 0024 0D90 ld __tmp_reg__,X+
  360. 353 0026 0020 tst __tmp_reg__
  361. 354 0028 01F4 brne 0b
  362. 355 002a 1197 sbiw r26,1
  363. 356 002c CD01 movw r24,r26
  364. 357 002e 8E19 sub r24,r14
  365. 358 0030 9F09 sbc r25,r15
  366. 359 .L38:
  367. 360 0032 9F01 movw r18,r30
  368. 361 0034 2E5F subi r18,-2
  369. 362 0036 3F4F sbci r19,-1
  370. 363 0038 A081 ld r26,Z
  371. 364 003a B181 ldd r27,Z+1
  372. 365 003c 1097 sbiw r26,0
  373. 366 003e 01F0 breq .L46
  374. 367 0040 FD01 movw r30,r26
  375. 368 0:
  376. 369 0042 0190 ld __tmp_reg__,Z+
  377. 370 0044 0020 tst __tmp_reg__
  378. 371 0046 01F4 brne 0b
  379. 372 0048 3197 sbiw r30,1
  380. 373 004a EA1B sub r30,r26
  381. 374 004c FB0B sbc r31,r27
  382. 375 004e 8E0F add r24,r30
  383. 376 0050 9F1F adc r25,r31
  384. 377 0052 F901 movw r30,r18
  385. 378 0054 00C0 rjmp .L38
  386. 379 .L46:
  387. 380 0056 0196 adiw r24,1
  388. 381 0058 0E94 0000 call malloc
  389. 382 005c 6C01 movw r12,r24
  390. 383 005e 0097 sbiw r24,0
  391. 384 0060 01F0 breq .L40
  392. 385 0062 B701 movw r22,r14
  393. 386 0064 0E94 0000 call strcpy
  394. 387 .L41:
  395. 388 0068 7801 movw r14,r16
  396. 389 006a F2E0 ldi r31,2
  397. 390 006c EF0E add r14,r31
  398. 391 006e F11C adc r15,__zero_reg__
  399. 392 0070 F801 movw r30,r16
  400. 393 0072 6081 ld r22,Z
  401. 394 0074 7181 ldd r23,Z+1
  402. 395 0076 6115 cp r22,__zero_reg__
  403. 396 0078 7105 cpc r23,__zero_reg__
  404. 397 007a 01F0 breq .L40
  405. 398 007c C601 movw r24,r12
  406. 399 007e 0E94 0000 call strcat
  407. GAS LISTING /tmp/ccdpm2ic.s page 8
  408. 400 0082 8701 movw r16,r14
  409. 401 0084 00C0 rjmp .L41
  410. 402 .L40:
  411. 403 0086 C601 movw r24,r12
  412. 404 /* epilogue start */
  413. 405 0088 DF91 pop r29
  414. 406 008a CF91 pop r28
  415. 407 008c 1F91 pop r17
  416. 408 008e 0F91 pop r16
  417. 409 0090 FF90 pop r15
  418. 410 0092 EF90 pop r14
  419. 411 0094 DF90 pop r13
  420. 412 0096 CF90 pop r12
  421. 413 0098 0895 ret
  422. 414 .size AllocConcatStrings, .-AllocConcatStrings
  423. 415 .section .text.AllocConcatStringLen,"ax",@progbits
  424. 416 .global AllocConcatStringLen
  425. 417 .type AllocConcatStringLen, @function
  426. 418 AllocConcatStringLen:
  427. 419 0000 AF92 push r10
  428. 420 0002 BF92 push r11
  429. 421 0004 CF92 push r12
  430. 422 0006 DF92 push r13
  431. 423 0008 EF92 push r14
  432. 424 000a FF92 push r15
  433. 425 000c 0F93 push r16
  434. 426 000e 1F93 push r17
  435. 427 0010 CF93 push r28
  436. 428 0012 DF93 push r29
  437. 429 /* prologue: function */
  438. 430 /* frame size = 0 */
  439. 431 /* stack size = 10 */
  440. 432 .L__stack_usage = 10
  441. 433 0014 5C01 movw r10,r24
  442. 434 0016 6B01 movw r12,r22
  443. 435 0018 8A01 movw r16,r20
  444. 436 001a FC01 movw r30,r24
  445. 437 0:
  446. 438 001c 0190 ld __tmp_reg__,Z+
  447. 439 001e 0020 tst __tmp_reg__
  448. 440 0020 01F4 brne 0b
  449. 441 0022 3197 sbiw r30,1
  450. 442 0024 EF01 movw r28,r30
  451. 443 0026 C81B sub r28,r24
  452. 444 0028 D90B sbc r29,r25
  453. 445 002a CE01 movw r24,r28
  454. 446 002c 840F add r24,r20
  455. 447 002e 951F adc r25,r21
  456. 448 0030 0196 adiw r24,1
  457. 449 0032 0E94 0000 call malloc
  458. 450 0036 7C01 movw r14,r24
  459. 451 0038 0097 sbiw r24,0
  460. 452 003a 01F0 breq .L48
  461. 453 003c B501 movw r22,r10
  462. 454 003e 0E94 0000 call strcpy
  463. 455 0042 CE0D add r28,r14
  464. 456 0044 DF1D adc r29,r15
  465. GAS LISTING /tmp/ccdpm2ic.s page 9
  466. 457 0046 A801 movw r20,r16
  467. 458 0048 B601 movw r22,r12
  468. 459 004a CE01 movw r24,r28
  469. 460 004c 0E94 0000 call strncpy
  470. 461 0050 C00F add r28,r16
  471. 462 0052 D11F adc r29,r17
  472. 463 0054 1882 st Y,__zero_reg__
  473. 464 .L48:
  474. 465 0056 C701 movw r24,r14
  475. 466 /* epilogue start */
  476. 467 0058 DF91 pop r29
  477. 468 005a CF91 pop r28
  478. 469 005c 1F91 pop r17
  479. 470 005e 0F91 pop r16
  480. 471 0060 FF90 pop r15
  481. 472 0062 EF90 pop r14
  482. 473 0064 DF90 pop r13
  483. 474 0066 CF90 pop r12
  484. 475 0068 BF90 pop r11
  485. 476 006a AF90 pop r10
  486. 477 006c 0895 ret
  487. 478 .size AllocConcatStringLen, .-AllocConcatStringLen
  488. 479 .section .rodata
  489. 480 .type base64dtab, @object
  490. 481 .size base64dtab, 96
  491. 482 base64dtab:
  492. 483 0000 FF .byte -1
  493. 484 0001 FF .byte -1
  494. 485 0002 FF .byte -1
  495. 486 0003 FF .byte -1
  496. 487 0004 FF .byte -1
  497. 488 0005 FF .byte -1
  498. 489 0006 FF .byte -1
  499. 490 0007 FF .byte -1
  500. 491 0008 FF .byte -1
  501. 492 0009 FF .byte -1
  502. 493 000a FF .byte -1
  503. 494 000b 3E .byte 62
  504. 495 000c FF .byte -1
  505. 496 000d FF .byte -1
  506. 497 000e FF .byte -1
  507. 498 000f 3F .byte 63
  508. 499 0010 34 .byte 52
  509. 500 0011 35 .byte 53
  510. 501 0012 36 .byte 54
  511. 502 0013 37 .byte 55
  512. 503 0014 38 .byte 56
  513. 504 0015 39 .byte 57
  514. 505 0016 3A .byte 58
  515. 506 0017 3B .byte 59
  516. 507 0018 3C .byte 60
  517. 508 0019 3D .byte 61
  518. 509 001a FF .byte -1
  519. 510 001b FF .byte -1
  520. 511 001c FF .byte -1
  521. 512 001d FF .byte -1
  522. 513 001e FF .byte -1
  523. GAS LISTING /tmp/ccdpm2ic.s page 10
  524. 514 001f FF .byte -1
  525. 515 0020 FF .byte -1
  526. 516 0021 00 .byte 0
  527. 517 0022 01 .byte 1
  528. 518 0023 02 .byte 2
  529. 519 0024 03 .byte 3
  530. 520 0025 04 .byte 4
  531. 521 0026 05 .byte 5
  532. 522 0027 06 .byte 6
  533. 523 0028 07 .byte 7
  534. 524 0029 08 .byte 8
  535. 525 002a 09 .byte 9
  536. 526 002b 0A .byte 10
  537. 527 002c 0B .byte 11
  538. 528 002d 0C .byte 12
  539. 529 002e 0D .byte 13
  540. 530 002f 0E .byte 14
  541. 531 0030 0F .byte 15
  542. 532 0031 10 .byte 16
  543. 533 0032 11 .byte 17
  544. 534 0033 12 .byte 18
  545. 535 0034 13 .byte 19
  546. 536 0035 14 .byte 20
  547. 537 0036 15 .byte 21
  548. 538 0037 16 .byte 22
  549. 539 0038 17 .byte 23
  550. 540 0039 18 .byte 24
  551. 541 003a 19 .byte 25
  552. 542 003b FF .byte -1
  553. 543 003c FF .byte -1
  554. 544 003d FF .byte -1
  555. 545 003e FF .byte -1
  556. 546 003f FF .byte -1
  557. 547 0040 FF .byte -1
  558. 548 0041 1A .byte 26
  559. 549 0042 1B .byte 27
  560. 550 0043 1C .byte 28
  561. 551 0044 1D .byte 29
  562. 552 0045 1E .byte 30
  563. 553 0046 1F .byte 31
  564. 554 0047 20 .byte 32
  565. 555 0048 21 .byte 33
  566. 556 0049 22 .byte 34
  567. 557 004a 23 .byte 35
  568. 558 004b 24 .byte 36
  569. 559 004c 25 .byte 37
  570. 560 004d 26 .byte 38
  571. 561 004e 27 .byte 39
  572. 562 004f 28 .byte 40
  573. 563 0050 29 .byte 41
  574. 564 0051 2A .byte 42
  575. 565 0052 2B .byte 43
  576. 566 0053 2C .byte 44
  577. 567 0054 2D .byte 45
  578. 568 0055 2E .byte 46
  579. 569 0056 2F .byte 47
  580. 570 0057 30 .byte 48
  581. GAS LISTING /tmp/ccdpm2ic.s page 11
  582. 571 0058 31 .byte 49
  583. 572 0059 32 .byte 50
  584. 573 005a 33 .byte 51
  585. 574 005b FF .byte -1
  586. 575 005c FF .byte -1
  587. 576 005d FF .byte -1
  588. 577 005e FF .byte -1
  589. 578 005f FF .byte -1
  590. 579 .ident "GCC: (GNU) 5.3.0"
  591. 580 .global __do_copy_data
  592. GAS LISTING /tmp/ccdpm2ic.s page 12
  593. DEFINED SYMBOLS
  594. *ABS*:0000000000000000 utils.c
  595. /tmp/ccdpm2ic.s:2 *ABS*:000000000000003e __SP_H__
  596. /tmp/ccdpm2ic.s:3 *ABS*:000000000000003d __SP_L__
  597. /tmp/ccdpm2ic.s:4 *ABS*:000000000000003f __SREG__
  598. /tmp/ccdpm2ic.s:5 *ABS*:000000000000003b __RAMPZ__
  599. /tmp/ccdpm2ic.s:6 *ABS*:0000000000000000 __tmp_reg__
  600. /tmp/ccdpm2ic.s:7 *ABS*:0000000000000001 __zero_reg__
  601. /tmp/ccdpm2ic.s:10 .text.DecodeHex:0000000000000000 DecodeHex
  602. /tmp/ccdpm2ic.s:53 .text.HttpUrlUnescape:0000000000000000 HttpUrlUnescape
  603. /tmp/ccdpm2ic.s:132 .text.UriUnescape:0000000000000000 UriUnescape
  604. /tmp/ccdpm2ic.s:243 .text.HttpDecodeBase64:0000000000000000 HttpDecodeBase64
  605. /tmp/ccdpm2ic.s:482 .rodata:0000000000000000 base64dtab
  606. /tmp/ccdpm2ic.s:328 .text.AllocConcatStrings:0000000000000000 AllocConcatStrings
  607. /tmp/ccdpm2ic.s:418 .text.AllocConcatStringLen:0000000000000000 AllocConcatStringLen
  608. UNDEFINED SYMBOLS
  609. strtol
  610. malloc
  611. strcpy
  612. strcat
  613. strncpy
  614. __do_copy_data