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
5644f0:	3b 99 44 01 00 00    	cmp    0x144(%ecx),%ebx
5644f6:	72 17                	jb     0x56450f
5644f8:	8b 81 40 01 00 00    	mov    0x140(%ecx),%eax
5644fe:	5f                   	pop    %edi
5644ff:	89 03                	mov    %eax,(%ebx)
564501:	33 c0                	xor    %eax,%eax
564503:	5e                   	pop    %esi
564504:	89 99 40 01 00 00    	mov    %ebx,0x140(%ecx)
56450a:	5b                   	pop    %ebx
56450b:	8b e5                	mov    %ebp,%esp
56450d:	5d                   	pop    %ebp
56450e:	c3                   	ret
56450f:	3b 99 48 01 00 00    	cmp    0x148(%ecx),%ebx
564515:	72 1a                	jb     0x564531
564517:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
56451d:	5f                   	pop    %edi
56451e:	89 03                	mov    %eax,(%ebx)
564520:	33 c0                	xor    %eax,%eax
564522:	5e                   	pop    %esi
564523:	89 99 38 01 00 00    	mov    %ebx,0x138(%ecx)
564529:	5b                   	pop    %ebx
56452a:	8b e5                	mov    %ebp,%esp
56452c:	5d                   	pop    %ebp
56452d:	c3                   	ret
56452e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
564531:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
564538:	74 4c                	je     0x564586
56453a:	a1 90 ff 72 00       	mov    0x72ff90,%eax
56453f:	85 c0                	test   %eax,%eax
564541:	74 0a                	je     0x56454d
564543:	50                   	push   %eax
564544:	ff 15 60 18 72 00    	call   *0x721860
56454a:	83 c4 04             	add    $0x4,%esp
56454d:	53                   	push   %ebx
56454e:	ff 15 3c 18 72 00    	call   *0x72183c
564554:	29 05 20 00 73 00    	sub    %eax,0x730020
56455a:	ff 0d 44 00 73 00    	decl   0x730044
564560:	53                   	push   %ebx
564561:	ff 15 34 18 72 00    	call   *0x721834
564567:	a1 90 ff 72 00       	mov    0x72ff90,%eax
56456c:	83 c4 08             	add    $0x8,%esp
56456f:	85 c0                	test   %eax,%eax
564571:	74 1d                	je     0x564590
564573:	50                   	push   %eax
564574:	ff 15 68 18 72 00    	call   *0x721868
56457a:	83 c4 04             	add    $0x4,%esp
56457d:	33 c0                	xor    %eax,%eax
56457f:	5f                   	pop    %edi
564580:	5e                   	pop    %esi
564581:	5b                   	pop    %ebx
564582:	8b e5                	mov    %ebp,%esp
564584:	5d                   	pop    %ebp
564585:	c3                   	ret
564586:	53                   	push   %ebx
564587:	ff 15 34 18 72 00    	call   *0x721834
56458d:	83 c4 04             	add    $0x4,%esp
564590:	5f                   	pop    %edi
564591:	5e                   	pop    %esi
564592:	33 c0                	xor    %eax,%eax
564594:	5b                   	pop    %ebx
564595:	8b e5                	mov    %ebp,%esp
564597:	5d                   	pop    %ebp
564598:	c3                   	ret
564599:	cc                   	int3
56459a:	cc                   	int3
56459b:	cc                   	int3
56459c:	cc                   	int3
56459d:	cc                   	int3
56459e:	cc                   	int3
56459f:	cc                   	int3
5645a0:	55                   	push   %ebp
5645a1:	8b ec                	mov    %esp,%ebp
5645a3:	8b 45 18             	mov    0x18(%ebp),%eax
5645a6:	53                   	push   %ebx
5645a7:	56                   	push   %esi
5645a8:	57                   	push   %edi
5645a9:	0f bf 50 16          	movswl 0x16(%eax),%edx
5645ad:	8b 7d 10             	mov    0x10(%ebp),%edi
5645b0:	0f b7 c2             	movzwl %dx,%eax
5645b3:	85 ff                	test   %edi,%edi
5645b5:	74 13                	je     0x5645ca
5645b7:	0f b7 47 08          	movzwl 0x8(%edi),%eax
5645bb:	66 85 c0             	test   %ax,%ax
5645be:	7f 04                	jg     0x5645c4
5645c0:	03 c2                	add    %edx,%eax
5645c2:	eb 03                	jmp    0x5645c7
5645c4:	8d 42 ec             	lea    -0x14(%edx),%eax
5645c7:	0f b7 c0             	movzwl %ax,%eax
5645ca:	8b 75 14             	mov    0x14(%ebp),%esi
5645cd:	0f b7 c8             	movzwl %ax,%ecx
5645d0:	85 f6                	test   %esi,%esi
5645d2:	74 13                	je     0x5645e7
5645d4:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
5645d8:	66 85 c9             	test   %cx,%cx
5645db:	7f 04                	jg     0x5645e1
5645dd:	03 c1                	add    %ecx,%eax
5645df:	eb 03                	jmp    0x5645e4
5645e1:	83 c0 ec             	add    $0xffffffec,%eax
5645e4:	0f b7 c8             	movzwl %ax,%ecx
5645e7:	0f b7 d9             	movzwl %cx,%ebx
5645ea:	85 ff                	test   %edi,%edi
5645ec:	74 18                	je     0x564606
5645ee:	66 83 7f 08 00       	cmpw   $0x0,0x8(%edi)
5645f3:	7e 11                	jle    0x564606
5645f5:	85 f6                	test   %esi,%esi
5645f7:	74 0d                	je     0x564606
5645f9:	66 83 7e 08 00       	cmpw   $0x0,0x8(%esi)
5645fe:	7e 06                	jle    0x564606
564600:	8d 41 ec             	lea    -0x14(%ecx),%eax
564603:	0f b7 d8             	movzwl %ax,%ebx
564606:	33 c9                	xor    %ecx,%ecx
564608:	85 ff                	test   %edi,%edi
56460a:	5f                   	pop    %edi
56460b:	0f 95 c1             	setne  %cl
56460e:	33 c0                	xor    %eax,%eax
564610:	85 f6                	test   %esi,%esi
564612:	5e                   	pop    %esi
564613:	0f 95 c0             	setne  %al
564616:	03 c8                	add    %eax,%ecx
564618:	b8 0a 00 00 00       	mov    $0xa,%eax
56461d:	2b d1                	sub    %ecx,%edx
56461f:	66 3b d8             	cmp    %ax,%bx
564622:	0f 4c d8             	cmovl  %eax,%ebx
564625:	0f bf c3             	movswl %bx,%eax
564628:	3b c2                	cmp    %edx,%eax
56462a:	5b                   	pop    %ebx
56462b:	0f 4c d0             	cmovl  %eax,%edx
56462e:	8b 45 18             	mov    0x18(%ebp),%eax
564631:	66 89 50 16          	mov    %dx,0x16(%eax)
564635:	33 c0                	xor    %eax,%eax
564637:	5d                   	pop    %ebp
564638:	c3                   	ret
564639:	cc                   	int3
56463a:	cc                   	int3
56463b:	cc                   	int3
56463c:	cc                   	int3
56463d:	cc                   	int3
56463e:	cc                   	int3
56463f:	cc                   	int3
564640:	55                   	push   %ebp
564641:	8b ec                	mov    %esp,%ebp
564643:	8b 45 18             	mov    0x18(%ebp),%eax
564646:	83 ec 14             	sub    $0x14,%esp
564649:	8b 00                	mov    (%eax),%eax
56464b:	8b 48 0c             	mov    0xc(%eax),%ecx
56464e:	8a 01                	mov    (%ecx),%al
564650:	3c ad                	cmp    $0xad,%al
564652:	75 03                	jne    0x564657
564654:	8a 41 02             	mov    0x2(%ecx),%al
564657:	3c ae                	cmp    $0xae,%al
564659:	75 07                	jne    0x564662
56465b:	8b 41 14             	mov    0x14(%ecx),%eax
56465e:	8b 08                	mov    (%eax),%ecx
564660:	eb 13                	jmp    0x564675
564662:	3c 88                	cmp    $0x88,%al
564664:	75 0a                	jne    0x564670
564666:	8b 41 14             	mov    0x14(%ecx),%eax
564669:	8b 40 1c             	mov    0x1c(%eax),%eax
56466c:	8b 08                	mov    (%eax),%ecx
56466e:	eb 05                	jmp    0x564675
564670:	b9 01 00 00 00       	mov    $0x1,%ecx
564675:	53                   	push   %ebx
564676:	8b 5d 10             	mov    0x10(%ebp),%ebx
564679:	ba 01 00 00 00       	mov    $0x1,%edx
56467e:	56                   	push   %esi
56467f:	8b 75 14             	mov    0x14(%ebp),%esi
564682:	89 55 fc             	mov    %edx,-0x4(%ebp)
564685:	0f b7 43 34          	movzwl 0x34(%ebx),%eax
564689:	2b c6                	sub    %esi,%eax
56468b:	3b c8                	cmp    %eax,%ecx
56468d:	0f 4d c8             	cmovge %eax,%ecx
564690:	89 4d ec             	mov    %ecx,-0x14(%ebp)
564693:	3b ca                	cmp    %edx,%ecx
564695:	0f 8e 2f 01 00 00    	jle    0x5647ca
56469b:	8d 04 b5 04 00 00 00 	lea    0x4(,%esi,4),%eax