5640db:	8b 55 a4             	mov    -0x5c(%ebp),%edx
5640de:	89 46 04             	mov    %eax,0x4(%esi)
5640e1:	8b 45 b0             	mov    -0x50(%ebp),%eax
5640e4:	89 46 08             	mov    %eax,0x8(%esi)
5640e7:	8b 45 ac             	mov    -0x54(%ebp),%eax
5640ea:	89 46 0c             	mov    %eax,0xc(%esi)
5640ed:	8b 45 a8             	mov    -0x58(%ebp),%eax
5640f0:	66 89 46 10          	mov    %ax,0x10(%esi)
5640f4:	8a 45 ff             	mov    -0x1(%ebp),%al
5640f7:	88 46 16             	mov    %al,0x16(%esi)
5640fa:	8b 45 c8             	mov    -0x38(%ebp),%eax
5640fd:	66 89 7e 14          	mov    %di,0x14(%esi)
564101:	89 0e                	mov    %ecx,(%esi)
564103:	66 89 56 12          	mov    %dx,0x12(%esi)
564107:	8d 3c 85 00 00 00 00 	lea    0x0(,%eax,4),%edi
56410e:	8b 45 ec             	mov    -0x14(%ebp),%eax
564111:	57                   	push   %edi
564112:	ff 70 08             	push   0x8(%eax)
564115:	ff 76 18             	push   0x18(%esi)
564118:	e8 e3 ed 07 00       	call   0x5e2f00
56411d:	8b 46 18             	mov    0x18(%esi),%eax
564120:	83 c4 0c             	add    $0xc,%esp
564123:	8b 4d f4             	mov    -0xc(%ebp),%ecx
564126:	89 1c 07             	mov    %ebx,(%edi,%eax,1)
564129:	8b 45 d0             	mov    -0x30(%ebp),%eax
56412c:	3b c8                	cmp    %eax,%ecx
56412e:	7c 54                	jl     0x564184
564130:	8b 55 e0             	mov    -0x20(%ebp),%edx
564133:	b9 01 00 00 00       	mov    $0x1,%ecx
564138:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
56413f:	0f b7 72 12          	movzwl 0x12(%edx),%esi
564143:	0f b7 7a 10          	movzwl 0x10(%edx),%edi
564147:	89 75 b8             	mov    %esi,-0x48(%ebp)
56414a:	89 7d bc             	mov    %edi,-0x44(%ebp)
56414d:	3b c1                	cmp    %ecx,%eax
56414f:	76 30                	jbe    0x564181
564151:	8b 5d d0             	mov    -0x30(%ebp),%ebx
564154:	8d 42 32             	lea    0x32(%edx),%eax
564157:	0f b7 10             	movzwl (%eax),%edx
56415a:	66 3b d6             	cmp    %si,%dx
56415d:	7f 08                	jg     0x564167
56415f:	75 0f                	jne    0x564170
564161:	66 39 78 02          	cmp    %di,0x2(%eax)
564165:	7e 09                	jle    0x564170
564167:	0f b7 78 02          	movzwl 0x2(%eax),%edi
56416b:	8b f2                	mov    %edx,%esi
56416d:	89 4d c0             	mov    %ecx,-0x40(%ebp)
564170:	41                   	inc    %ecx
564171:	83 c0 20             	add    $0x20,%eax
564174:	3b cb                	cmp    %ebx,%ecx
564176:	7c df                	jl     0x564157
564178:	8b 5d e8             	mov    -0x18(%ebp),%ebx
56417b:	89 7d bc             	mov    %edi,-0x44(%ebp)
56417e:	89 75 b8             	mov    %esi,-0x48(%ebp)
564181:	8b 4d f4             	mov    -0xc(%ebp),%ecx
564184:	8b 7d ec             	mov    -0x14(%ebp),%edi
564187:	8b 5b 34             	mov    0x34(%ebx),%ebx
56418a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
56418d:	85 db                	test   %ebx,%ebx
56418f:	0f 85 db fb ff ff    	jne    0x563d70
564195:	8b 55 08             	mov    0x8(%ebp),%edx
564198:	8b 45 cc             	mov    -0x34(%ebp),%eax
56419b:	83 c7 20             	add    $0x20,%edi
56419e:	83 e8 01             	sub    $0x1,%eax
5641a1:	89 7d ec             	mov    %edi,-0x14(%ebp)
5641a4:	89 45 cc             	mov    %eax,-0x34(%ebp)
5641a7:	0f 85 b3 fb ff ff    	jne    0x563d60
5641ad:	8b 75 e0             	mov    -0x20(%ebp),%esi
5641b0:	8b 7d dc             	mov    -0x24(%ebp),%edi
5641b3:	8b c6                	mov    %esi,%eax
5641b5:	89 7d e0             	mov    %edi,-0x20(%ebp)
5641b8:	8b f7                	mov    %edi,%esi
5641ba:	8b d9                	mov    %ecx,%ebx
5641bc:	8b f8                	mov    %eax,%edi
5641be:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5641c1:	8b 45 c8             	mov    -0x38(%ebp),%eax
5641c4:	40                   	inc    %eax
5641c5:	89 7d dc             	mov    %edi,-0x24(%ebp)
5641c8:	89 45 c8             	mov    %eax,-0x38(%ebp)
5641cb:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5641ce:	0f 8c 72 fb ff ff    	jl     0x563d46
5641d4:	85 c9                	test   %ecx,%ecx
5641d6:	0f 85 02 01 00 00    	jne    0x5642de
5641dc:	68 a8 bb 6b 00       	push   $0x6bbba8
5641e1:	ff 75 9c             	push   -0x64(%ebp)
5641e4:	e8 77 f0 fb ff       	call   0x523260
5641e9:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
5641ec:	83 c4 08             	add    $0x8,%esp
5641ef:	85 c9                	test   %ecx,%ecx
5641f1:	74 75                	je     0x564268
5641f3:	39 99 f8 01 00 00    	cmp    %ebx,0x1f8(%ecx)
5641f9:	74 1e                	je     0x564219
5641fb:	ff 75 e4             	push   -0x1c(%ebp)
5641fe:	51                   	push   %ecx
5641ff:	e8 6c 52 fa ff       	call   0x509470
564204:	83 c4 08             	add    $0x8,%esp
564207:	8d 43 01             	lea    0x1(%ebx),%eax
56420a:	5f                   	pop    %edi
56420b:	5e                   	pop    %esi
56420c:	5b                   	pop    %ebx
56420d:	8b e5                	mov    %ebp,%esp
56420f:	5d                   	pop    %ebp
564210:	c3                   	ret
564211:	8b 4d f4             	mov    -0xc(%ebp),%ecx
564214:	e9 6e ff ff ff       	jmp    0x564187
564219:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
56421c:	3b 99 4c 01 00 00    	cmp    0x14c(%ecx),%ebx
564222:	73 47                	jae    0x56426b
564224:	3b 99 44 01 00 00    	cmp    0x144(%ecx),%ebx
56422a:	72 1a                	jb     0x564246
56422c:	8b 81 40 01 00 00    	mov    0x140(%ecx),%eax
564232:	5f                   	pop    %edi
564233:	89 03                	mov    %eax,(%ebx)
564235:	b8 01 00 00 00       	mov    $0x1,%eax
56423a:	5e                   	pop    %esi
56423b:	89 99 40 01 00 00    	mov    %ebx,0x140(%ecx)
564241:	5b                   	pop    %ebx
564242:	8b e5                	mov    %ebp,%esp
564244:	5d                   	pop    %ebp
564245:	c3                   	ret
564246:	3b 99 48 01 00 00    	cmp    0x148(%ecx),%ebx
56424c:	72 1d                	jb     0x56426b
56424e:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
564254:	5f                   	pop    %edi
564255:	89 03                	mov    %eax,(%ebx)
564257:	b8 01 00 00 00       	mov    $0x1,%eax
56425c:	5e                   	pop    %esi
56425d:	89 99 38 01 00 00    	mov    %ebx,0x138(%ecx)
564263:	5b                   	pop    %ebx
564264:	8b e5                	mov    %ebp,%esp
564266:	5d                   	pop    %ebp
564267:	c3                   	ret
564268:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
56426b:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
564272:	74 4f                	je     0x5642c3
564274:	a1 90 ff 72 00       	mov    0x72ff90,%eax
564279:	85 c0                	test   %eax,%eax
56427b:	74 0a                	je     0x564287
56427d:	50                   	push   %eax
56427e:	ff 15 60 18 72 00    	call   *0x721860
564284:	83 c4 04             	add    $0x4,%esp
564287:	53                   	push   %ebx
564288:	ff 15 3c 18 72 00    	call   *0x72183c
56428e:	29 05 20 00 73 00    	sub    %eax,0x730020
564294:	ff 0d 44 00 73 00    	decl   0x730044
56429a:	53                   	push   %ebx
56429b:	ff 15 34 18 72 00    	call   *0x721834
5642a1:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5642a6:	83 c4 08             	add    $0x8,%esp
5642a9:	85 c0                	test   %eax,%eax
5642ab:	74 20                	je     0x5642cd
5642ad:	50                   	push   %eax
5642ae:	ff 15 68 18 72 00    	call   *0x721868
5642b4:	83 c4 04             	add    $0x4,%esp
5642b7:	b8 01 00 00 00       	mov    $0x1,%eax
5642bc:	5f                   	pop    %edi
5642bd:	5e                   	pop    %esi
5642be:	5b                   	pop    %ebx
5642bf:	8b e5                	mov    %ebp,%esp
5642c1:	5d                   	pop    %ebp
5642c2:	c3                   	ret
5642c3:	53                   	push   %ebx
5642c4:	ff 15 34 18 72 00    	call   *0x721834
5642ca:	83 c4 04             	add    $0x4,%esp
5642cd:	5f                   	pop    %edi
5642ce:	5e                   	pop    %esi
5642cf:	b8 01 00 00 00       	mov    $0x1,%eax
5642d4:	5b                   	pop    %ebx
5642d5:	8b e5                	mov    %ebp,%esp
5642d7:	5d                   	pop    %ebp
5642d8:	c3                   	ret
5642d9:	bb 01 00 00 00       	mov    $0x1,%ebx
5642de:	83 fb 01             	cmp    $0x1,%ebx
5642e1:	7e 27                	jle    0x56430a
5642e3:	8d 57 20             	lea    0x20(%edi),%edx
5642e6:	8d 73 ff             	lea    -0x1(%ebx),%esi
5642e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5642f0:	0f b7 42 12          	movzwl 0x12(%edx),%eax
5642f4:	8b ca                	mov    %edx,%ecx
5642f6:	83 c2 20             	add    $0x20,%edx
5642f9:	66 39 47 12          	cmp    %ax,0x12(%edi)
5642fd:	0f 4e cf             	cmovle %edi,%ecx
564300:	8b f9                	mov    %ecx,%edi
564302:	83 ee 01             	sub    $0x1,%esi
564305:	75 e9                	jne    0x5642f0
564307:	89 7d dc             	mov    %edi,-0x24(%ebp)
56430a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56430d:	33 f6                	xor    %esi,%esi
56430f:	8b 5d 08             	mov    0x8(%ebp),%ebx
564312:	85 c9                	test   %ecx,%ecx
564314:	7e 37                	jle    0x56434d
564316:	8d 93 24 03 00 00    	lea    0x324(%ebx),%edx
56431c:	0f 1f 40 00          	nopl   0x0(%eax)
564320:	8b 47 18             	mov    0x18(%edi),%eax
564323:	8d 52 58             	lea    0x58(%edx),%edx
564326:	8b 04 b0             	mov    (%eax,%esi,4),%eax
564329:	46                   	inc    %esi
56432a:	89 42 bc             	mov    %eax,-0x44(%edx)
56432d:	8a 40 10             	mov    0x10(%eax),%al
564330:	88 42 a8             	mov    %al,-0x58(%edx)
564333:	0f b6 c0             	movzbl %al,%eax
564336:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
564339:	8b 43 04             	mov    0x4(%ebx),%eax
56433c:	8b 44 c8 34          	mov    0x34(%eax,%ecx,8),%eax
564340:	8b 4d f0             	mov    -0x10(%ebp),%ecx
564343:	89 82 78 ff ff ff    	mov    %eax,-0x88(%edx)
564349:	3b f1                	cmp    %ecx,%esi
56434b:	7c d3                	jl     0x564320
56434d:	66 8b 43 28          	mov    0x28(%ebx),%ax
564351:	ba 80 01 00 00       	mov    $0x180,%edx
564356:	66 23 c2             	and    %dx,%ax
564359:	ba 00 01 00 00       	mov    $0x100,%edx
56435e:	66 3b c2             	cmp    %dx,%ax
564361:	75 3c                	jne    0x56439f
564363:	80 7b 2f 00          	cmpb   $0x0,0x2f(%ebx)
564367:	75 36                	jne    0x56439f
564369:	66 83 7d 0c 00       	cmpw   $0x0,0xc(%ebp)
56436e:	74 2f                	je     0x56439f
564370:	8d 45 98             	lea    -0x68(%ebp),%eax
564373:	50                   	push   %eax
564374:	8b 47 18             	mov    0x18(%edi),%eax
564377:	ff 74 88 fc          	push   -0x4(%eax,%ecx,4)
56437b:	8d 41 ff             	lea    -0x1(%ecx),%eax
56437e:	50                   	push   %eax
56437f:	68 80 00 00 00       	push   $0x80
564384:	57                   	push   %edi
564385:	ff 73 0c             	push   0xc(%ebx)
564388:	53                   	push   %ebx
564389:	e8 e2 ef ff ff       	call   0x563370
56438e:	0f be c8             	movsbl %al,%ecx
564391:	83 c4 1c             	add    $0x1c,%esp
564394:	8b 43 0c             	mov    0xc(%ebx),%eax
564397:	3b 08                	cmp    (%eax),%ecx
564399:	75 04                	jne    0x56439f
56439b:	c6 43 2f 02          	movb   $0x2,0x2f(%ebx)
56439f:	83 63 30 fb          	andl   $0xfffffffb,0x30(%ebx)
5643a3:	8b 73 08             	mov    0x8(%ebx),%esi
5643a6:	85 f6                	test   %esi,%esi
5643a8:	0f 84 0a 01 00 00    	je     0x5644b8
5643ae:	f6 43 28 80          	testb  $0x80,0x28(%ebx)
5643b2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5643b5:	74 15                	je     0x5643cc
5643b7:	0f be 47 16          	movsbl 0x16(%edi),%eax
5643bb:	3b 06                	cmp    (%esi),%eax
5643bd:	0f 85 99 00 00 00    	jne    0x56445c
5643c3:	c6 43 2f 02          	movb   $0x2,0x2f(%ebx)
5643c7:	e9 90 00 00 00       	jmp    0x56445c
5643cc:	8a 47 16             	mov    0x16(%edi),%al
5643cf:	88 43 2d             	mov    %al,0x2d(%ebx)
5643d2:	80 7b 2d 00          	cmpb   $0x0,0x2d(%ebx)
5643d6:	8b 47 08             	mov    0x8(%edi),%eax
5643d9:	89 43 48             	mov    %eax,0x48(%ebx)
5643dc:	8b 47 0c             	mov    0xc(%edi),%eax
5643df:	89 43 4c             	mov    %eax,0x4c(%ebx)
5643e2:	7f 78                	jg     0x56445c
5643e4:	c6 43 2d 00          	movb   $0x0,0x2d(%ebx)
5643e8:	85 c9                	test   %ecx,%ecx
5643ea:	7e 70                	jle    0x56445c
5643ec:	8b 47 18             	mov    0x18(%edi),%eax
5643ef:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5643f2:	8b 7c 08 fc          	mov    -0x4(%eax,%ecx,1),%edi
5643f6:	8b 47 24             	mov    0x24(%edi),%eax
5643f9:	25 04 01 00 00       	and    $0x104,%eax
5643fe:	3d 04 01 00 00       	cmp    $0x104,%eax
564403:	0f 95 c1             	setne  %cl
564406:	0f ba 67 24 0c       	btl    $0xc,0x24(%edi)
56440b:	0f 93 c0             	setae  %al
56440e:	84 c8                	test   %cl,%al
564410:	74 44                	je     0x564456
564412:	8d 45 8c             	lea    -0x74(%ebp),%eax
564415:	0f 57 c0             	xorps  %xmm0,%xmm0
564418:	50                   	push   %eax
564419:	8b 45 f0             	mov    -0x10(%ebp),%eax
56441c:	57                   	push   %edi
56441d:	8b 7d dc             	mov    -0x24(%ebp),%edi
564420:	48                   	dec    %eax
564421:	50                   	push   %eax
564422:	68 00 08 00 00       	push   $0x800
564427:	57                   	push   %edi
564428:	56                   	push   %esi
564429:	53                   	push   %ebx
56442a:	66 0f 13 45 8c       	movlpd %xmm0,-0x74(%ebp)
56442f:	e8 3c ef ff ff       	call   0x563370
564434:	8b 73 08             	mov    0x8(%ebx),%esi
564437:	83 c4 1c             	add    $0x1c,%esp
56443a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56443d:	0f be c0             	movsbl %al,%eax
564440:	3b 06                	cmp    (%esi),%eax
564442:	75 18                	jne    0x56445c
564444:	8b 45 8c             	mov    -0x74(%ebp),%eax
564447:	83 4b 30 04          	orl    $0x4,0x30(%ebx)
56444b:	89 43 48             	mov    %eax,0x48(%ebx)
56444e:	8b 45 90             	mov    -0x70(%ebp),%eax
564451:	89 43 4c             	mov    %eax,0x4c(%ebx)
564454:	eb 06                	jmp    0x56445c
564456:	8b 7d dc             	mov    -0x24(%ebp),%edi
564459:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56445c:	b8 00 02 00 00       	mov    $0x200,%eax
564461:	66 85 43 28          	test   %ax,0x28(%ebx)
564465:	74 51                	je     0x5644b8
564467:	0f be 43 2d          	movsbl 0x2d(%ebx),%eax
56446b:	3b 06                	cmp    (%esi),%eax
56446d:	75 49                	jne    0x5644b8
56446f:	85 c9                	test   %ecx,%ecx
564471:	7e 45                	jle    0x5644b8
564473:	8d 45 8c             	lea    -0x74(%ebp),%eax
564476:	0f 57 c0             	xorps  %xmm0,%xmm0
564479:	50                   	push   %eax
56447a:	8b 47 18             	mov    0x18(%edi),%eax
56447d:	8d 14 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edx
564484:	66 0f 13 45 8c       	movlpd %xmm0,-0x74(%ebp)
564489:	ff 74 10 fc          	push   -0x4(%eax,%edx,1)
56448d:	8d 41 ff             	lea    -0x1(%ecx),%eax
564490:	50                   	push   %eax
564491:	6a 00                	push   $0x0
564493:	57                   	push   %edi
564494:	56                   	push   %esi
564495:	53                   	push   %ebx
564496:	e8 d5 ee ff ff       	call   0x563370
56449b:	0f be c8             	movsbl %al,%ecx
56449e:	83 c4 1c             	add    $0x1c,%esp
5644a1:	8b 43 08             	mov    0x8(%ebx),%eax
5644a4:	3b 08                	cmp    (%eax),%ecx
5644a6:	75 10                	jne    0x5644b8
5644a8:	8b 45 8c             	mov    -0x74(%ebp),%eax
5644ab:	83 4b 30 08          	orl    $0x8,0x30(%ebx)
5644af:	89 43 48             	mov    %eax,0x48(%ebx)
5644b2:	8b 45 90             	mov    -0x70(%ebp),%eax
5644b5:	89 43 4c             	mov    %eax,0x4c(%ebx)
5644b8:	66 8b 47 10          	mov    0x10(%edi),%ax
5644bc:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
5644bf:	66 89 43 34          	mov    %ax,0x34(%ebx)
5644c3:	85 c9                	test   %ecx,%ecx
5644c5:	74 67                	je     0x56452e
5644c7:	83 b9 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ecx)
5644ce:	74 15                	je     0x5644e5
5644d0:	ff 75 e4             	push   -0x1c(%ebp)
5644d3:	51                   	push   %ecx
5644d4:	e8 97 4f fa ff       	call   0x509470
5644d9:	83 c4 08             	add    $0x8,%esp
5644dc:	33 c0                	xor    %eax,%eax
5644de:	5f                   	pop    %edi
5644df:	5e                   	pop    %esi
5644e0:	5b                   	pop    %ebx
5644e1:	8b e5                	mov    %ebp,%esp
5644e3:	5d                   	pop    %ebp
5644e4:	c3                   	ret
5644e5:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5644e8:	3b 99 4c 01 00 00    	cmp    0x14c(%ecx),%ebx
5644ee:	73 41                	jae    0x564531