5613bc:	74 04                	je     0x5613c2
5613be:	33 d2                	xor    %edx,%edx
5613c0:	eb 10                	jmp    0x5613d2
5613c2:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5613c6:	0f b7 49 10          	movzwl 0x10(%ecx),%ecx
5613ca:	49                   	dec    %ecx
5613cb:	ba 01 00 00 00       	mov    $0x1,%edx
5613d0:	d3 e2                	shl    %cl,%edx
5613d2:	89 54 24 10          	mov    %edx,0x10(%esp)
5613d6:	33 c9                	xor    %ecx,%ecx
5613d8:	eb 1d                	jmp    0x5613f7
5613da:	33 c0                	xor    %eax,%eax
5613dc:	eb 0e                	jmp    0x5613ec
5613de:	8b 52 1c             	mov    0x1c(%edx),%edx
5613e1:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
5613e4:	8b 74 24 10          	mov    0x10(%esp),%esi
5613e8:	01 34 82             	add    %esi,(%edx,%eax,4)
5613eb:	40                   	inc    %eax
5613ec:	8b 53 10             	mov    0x10(%ebx),%edx
5613ef:	8b 72 18             	mov    0x18(%edx),%esi
5613f2:	3b c6                	cmp    %esi,%eax
5613f4:	7c e8                	jl     0x5613de
5613f6:	41                   	inc    %ecx
5613f7:	8b 43 10             	mov    0x10(%ebx),%eax
5613fa:	8b 50 14             	mov    0x14(%eax),%edx
5613fd:	3b ca                	cmp    %edx,%ecx
5613ff:	7c d9                	jl     0x5613da
561401:	ff 44 24 08          	incl   0x8(%esp)
561405:	83 c3 20             	add    $0x20,%ebx
561408:	83 44 24 18 20       	addl   $0x20,0x18(%esp)
56140d:	8b 0c 24             	mov    (%esp),%ecx
561410:	8b 41 38             	mov    0x38(%ecx),%eax
561413:	8b 54 24 08          	mov    0x8(%esp),%edx
561417:	3b c2                	cmp    %edx,%eax
561419:	7f 98                	jg     0x5613b3
56141b:	33 c9                	xor    %ecx,%ecx
56141d:	89 4c 24 08          	mov    %ecx,0x8(%esp)
561421:	8b 44 24 04          	mov    0x4(%esp),%eax
561425:	8b 58 24             	mov    0x24(%eax),%ebx
561428:	8b 04 24             	mov    (%esp),%eax
56142b:	8b 50 58             	mov    0x58(%eax),%edx
56142e:	89 54 24 18          	mov    %edx,0x18(%esp)
561432:	eb 66                	jmp    0x56149a
561434:	8b 4c 24 18          	mov    0x18(%esp),%ecx
561438:	8b 41 14             	mov    0x14(%ecx),%eax
56143b:	85 c0                	test   %eax,%eax
56143d:	74 14                	je     0x561453
56143f:	8b 54 24 18          	mov    0x18(%esp),%edx
561443:	0f b7 4a 10          	movzwl 0x10(%edx),%ecx
561447:	49                   	dec    %ecx
561448:	b8 01 00 00 00       	mov    $0x1,%eax
56144d:	d3 e0                	shl    %cl,%eax
56144f:	f7 d8                	neg    %eax
561451:	eb 02                	jmp    0x561455
561453:	33 c0                	xor    %eax,%eax
561455:	8b 54 24 18          	mov    0x18(%esp),%edx
561459:	8b 4a 14             	mov    0x14(%edx),%ecx
56145c:	85 c9                	test   %ecx,%ecx
56145e:	74 13                	je     0x561473
561460:	8b 54 24 18          	mov    0x18(%esp),%edx
561464:	0f b7 4a 10          	movzwl 0x10(%edx),%ecx
561468:	49                   	dec    %ecx
561469:	ba 01 00 00 00       	mov    $0x1,%edx
56146e:	d3 e2                	shl    %cl,%edx
561470:	4a                   	dec    %edx
561471:	eb 10                	jmp    0x561483
561473:	8b 4c 24 18          	mov    0x18(%esp),%ecx
561477:	66 8b 49 10          	mov    0x10(%ecx),%cx
56147b:	ba 01 00 00 00       	mov    $0x1,%edx
561480:	d3 e2                	shl    %cl,%edx
561482:	4a                   	dec    %edx
561483:	8b ca                	mov    %edx,%ecx
561485:	8b 53 10             	mov    0x10(%ebx),%edx
561488:	92                   	xchg   %eax,%edx
561489:	e8 e6 6b 01 00       	call   0x578074
56148e:	ff 44 24 08          	incl   0x8(%esp)
561492:	83 c3 20             	add    $0x20,%ebx
561495:	83 44 24 18 20       	addl   $0x20,0x18(%esp)
56149a:	8b 04 24             	mov    (%esp),%eax
56149d:	8b 50 38             	mov    0x38(%eax),%edx
5614a0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5614a4:	3b d1                	cmp    %ecx,%edx
5614a6:	7f 8c                	jg     0x561434
5614a8:	33 c0                	xor    %eax,%eax
5614aa:	89 44 24 08          	mov    %eax,0x8(%esp)
5614ae:	8b 54 24 04          	mov    0x4(%esp),%edx
5614b2:	8b 04 24             	mov    (%esp),%eax
5614b5:	8b 5a 24             	mov    0x24(%edx),%ebx
5614b8:	8b 50 58             	mov    0x58(%eax),%edx
5614bb:	89 54 24 18          	mov    %edx,0x18(%esp)
5614bf:	e9 ba 00 00 00       	jmp    0x56157e
5614c4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5614c8:	8b 41 04             	mov    0x4(%ecx),%eax
5614cb:	85 c0                	test   %eax,%eax
5614cd:	77 17                	ja     0x5614e6
5614cf:	68 92 04 00 00       	push   $0x492
5614d4:	68 4e ec 69 00       	push   $0x69ec4e
5614d9:	68 2a ec 69 00       	push   $0x69ec2a
5614de:	e8 5d 96 ff ff       	call   0x55ab40
5614e3:	83 c4 0c             	add    $0xc,%esp
5614e6:	8b 14 24             	mov    (%esp),%edx
5614e9:	8b 4b 04             	mov    0x4(%ebx),%ecx
5614ec:	8b 42 08             	mov    0x8(%edx),%eax
5614ef:	8b 54 24 18          	mov    0x18(%esp),%edx
5614f3:	8b 6a 04             	mov    0x4(%edx),%ebp
5614f6:	33 d2                	xor    %edx,%edx
5614f8:	03 c5                	add    %ebp,%eax
5614fa:	48                   	dec    %eax
5614fb:	f7 f5                	div    %ebp
5614fd:	2b c8                	sub    %eax,%ecx
5614ff:	51                   	push   %ecx
561500:	8b 73 10             	mov    0x10(%ebx),%esi
561503:	8b 46 18             	mov    0x18(%esi),%eax
561506:	50                   	push   %eax
561507:	8b 56 14             	mov    0x14(%esi),%edx
56150a:	52                   	push   %edx
56150b:	56                   	push   %esi
56150c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
561510:	8b 01                	mov    (%ecx),%eax
561512:	85 c0                	test   %eax,%eax
561514:	77 17                	ja     0x56152d
561516:	68 91 04 00 00       	push   $0x491
56151b:	68 20 ec 69 00       	push   $0x69ec20
561520:	68 fc eb 69 00       	push   $0x69ebfc
561525:	e8 16 96 ff ff       	call   0x55ab40
56152a:	83 c4 0c             	add    $0xc,%esp
56152d:	8b 54 24 10          	mov    0x10(%esp),%edx
561531:	8b 0b                	mov    (%ebx),%ecx
561533:	8b 42 04             	mov    0x4(%edx),%eax
561536:	8b 54 24 28          	mov    0x28(%esp),%edx
56153a:	8b 3a                	mov    (%edx),%edi
56153c:	33 d2                	xor    %edx,%edx
56153e:	03 c7                	add    %edi,%eax
561540:	48                   	dec    %eax
561541:	f7 f7                	div    %edi
561543:	2b c8                	sub    %eax,%ecx
561545:	8b 44 24 10          	mov    0x10(%esp),%eax
561549:	66 8b 54 24 18       	mov    0x18(%esp),%dx
56154e:	8b 00                	mov    (%eax),%eax
561550:	e8 57 3c 01 00       	call   0x5751ac
561555:	85 c0                	test   %eax,%eax
561557:	74 19                	je     0x561572
561559:	68 58 ec 69 00       	push   $0x69ec58
56155e:	68 80 2e 6a 00       	push   $0x6a2e80
561563:	e8 64 8b 01 00       	call   0x57a0cc
561568:	83 c4 08             	add    $0x8,%esp
56156b:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
561570:	eb 20                	jmp    0x561592
561572:	ff 44 24 08          	incl   0x8(%esp)
561576:	83 c3 20             	add    $0x20,%ebx
561579:	83 44 24 18 20       	addl   $0x20,0x18(%esp)
56157e:	8b 14 24             	mov    (%esp),%edx
561581:	8b 4a 38             	mov    0x38(%edx),%ecx
561584:	8b 44 24 08          	mov    0x8(%esp),%eax
561588:	3b c8                	cmp    %eax,%ecx
56158a:	0f 8f 34 ff ff ff    	jg     0x5614c4
561590:	33 c0                	xor    %eax,%eax
561592:	83 c4 1c             	add    $0x1c,%esp
561595:	5d                   	pop    %ebp
561596:	5f                   	pop    %edi
561597:	5e                   	pop    %esi
561598:	5b                   	pop    %ebx
561599:	c3                   	ret
56159a:	90                   	nop
56159b:	90                   	nop
56159c:	53                   	push   %ebx
56159d:	56                   	push   %esi
56159e:	57                   	push   %edi
56159f:	8b f0                	mov    %eax,%esi
5615a1:	33 ff                	xor    %edi,%edi
5615a3:	8b 5e 30             	mov    0x30(%esi),%ebx
5615a6:	eb 24                	jmp    0x5615cc
5615a8:	8b 03                	mov    (%ebx),%eax
5615aa:	48                   	dec    %eax
5615ab:	75 12                	jne    0x5615bf
5615ad:	8b d3                	mov    %ebx,%edx
5615af:	8b c6                	mov    %esi,%eax
5615b1:	e8 6e fb ff ff       	call   0x561124
5615b6:	85 c0                	test   %eax,%eax
5615b8:	74 05                	je     0x5615bf
5615ba:	83 c8 ff             	or     $0xffffffff,%eax
5615bd:	eb 20                	jmp    0x5615df
5615bf:	8b d3                	mov    %ebx,%edx
5615c1:	8b c6                	mov    %esi,%eax
5615c3:	e8 e4 f8 ff ff       	call   0x560eac
5615c8:	47                   	inc    %edi
5615c9:	83 c3 38             	add    $0x38,%ebx
5615cc:	8b 56 2c             	mov    0x2c(%esi),%edx
5615cf:	3b fa                	cmp    %edx,%edi
5615d1:	7c d5                	jl     0x5615a8
5615d3:	c7 46 54 20 00 00 00 	movl   $0x20,0x54(%esi)
5615da:	b8 01 00 00 00       	mov    $0x1,%eax
5615df:	5f                   	pop    %edi
5615e0:	5e                   	pop    %esi
5615e1:	5b                   	pop    %ebx
5615e2:	c3                   	ret
5615e3:	90                   	nop
5615e4:	53                   	push   %ebx
5615e5:	56                   	push   %esi
5615e6:	57                   	push   %edi
5615e7:	8d 7a 08             	lea    0x8(%edx),%edi
5615ea:	8b f0                	mov    %eax,%esi
5615ec:	55                   	push   %ebp
5615ed:	8b 47 0c             	mov    0xc(%edi),%eax
5615f0:	83 c4 f8             	add    $0xfffffff8,%esp
5615f3:	89 46 04             	mov    %eax,0x4(%esi)
5615f6:	8b 57 10             	mov    0x10(%edi),%edx
5615f9:	89 56 08             	mov    %edx,0x8(%esi)
5615fc:	8b 4f 04             	mov    0x4(%edi),%ecx
5615ff:	89 4e 0c             	mov    %ecx,0xc(%esi)
561602:	8b 47 08             	mov    0x8(%edi),%eax
561605:	89 46 10             	mov    %eax,0x10(%esi)
561608:	8b 57 14             	mov    0x14(%edi),%edx
56160b:	89 56 14             	mov    %edx,0x14(%esi)
56160e:	8b 4f 18             	mov    0x18(%edi),%ecx
561611:	89 4e 18             	mov    %ecx,0x18(%esi)
561614:	8b 47 1c             	mov    0x1c(%edi),%eax
561617:	89 46 1c             	mov    %eax,0x1c(%esi)
56161a:	8b 57 20             	mov    0x20(%edi),%edx
56161d:	89 56 20             	mov    %edx,0x20(%esi)
561620:	0f b7 4f 24          	movzwl 0x24(%edi),%ecx
561624:	89 4e 38             	mov    %ecx,0x38(%esi)
561627:	66 8b 46 38          	mov    0x38(%esi),%ax
56162b:	e8 d8 06 00 00       	call   0x561d08
561630:	89 46 40             	mov    %eax,0x40(%esi)
561633:	85 c0                	test   %eax,%eax
561635:	75 08                	jne    0x56163f
561637:	83 c8 ff             	or     $0xffffffff,%eax
56163a:	e9 c9 03 00 00       	jmp    0x561a08
56163f:	8b 46 38             	mov    0x38(%esi),%eax
561642:	c1 e0 05             	shl    $0x5,%eax
561645:	e8 32 6d 01 00       	call   0x57837c
56164a:	8b d8                	mov    %eax,%ebx
56164c:	89 5e 58             	mov    %ebx,0x58(%esi)
56164f:	85 db                	test   %ebx,%ebx
561651:	75 08                	jne    0x56165b
561653:	83 c8 ff             	or     $0xffffffff,%eax
561656:	e9 ad 03 00 00       	jmp    0x561a08
56165b:	66 c7 04 24 00 00    	movw   $0x0,(%esp)
561661:	e9 f6 00 00 00       	jmp    0x56175c
561666:	8b 57 28             	mov    0x28(%edi),%edx
561669:	33 c9                	xor    %ecx,%ecx
56166b:	8a 0c 82             	mov    (%edx,%eax,4),%cl
56166e:	66 89 4b 10          	mov    %cx,0x10(%ebx)
561672:	8b 57 28             	mov    0x28(%edi),%edx
561675:	33 c9                	xor    %ecx,%ecx
561677:	8a 4c 82 01          	mov    0x1(%edx,%eax,4),%cl
56167b:	89 4b 14             	mov    %ecx,0x14(%ebx)
56167e:	8b 57 28             	mov    0x28(%edi),%edx
561681:	33 c9                	xor    %ecx,%ecx
561683:	8a 4c 82 02          	mov    0x2(%edx,%eax,4),%cl
561687:	89 0b                	mov    %ecx,(%ebx)
561689:	8b 57 28             	mov    0x28(%edi),%edx
56168c:	0f b6 44 82 03       	movzbl 0x3(%edx,%eax,4),%eax
561691:	89 43 04             	mov    %eax,0x4(%ebx)
561694:	8b 0b                	mov    (%ebx),%ecx
561696:	85 c9                	test   %ecx,%ecx
561698:	77 17                	ja     0x5616b1
56169a:	68 d2 04 00 00       	push   $0x4d2
56169f:	68 92 ec 69 00       	push   $0x69ec92
5616a4:	68 70 ec 69 00       	push   $0x69ec70
5616a9:	e8 92 94 ff ff       	call   0x55ab40
5616ae:	83 c4 0c             	add    $0xc,%esp
5616b1:	8b 46 0c             	mov    0xc(%esi),%eax
5616b4:	8b 2b                	mov    (%ebx),%ebp
5616b6:	03 c5                	add    %ebp,%eax
5616b8:	48                   	dec    %eax
5616b9:	33 d2                	xor    %edx,%edx
5616bb:	f7 f5                	div    %ebp
5616bd:	50                   	push   %eax
5616be:	8b 03                	mov    (%ebx),%eax
5616c0:	85 c0                	test   %eax,%eax
5616c2:	77 17                	ja     0x5616db
5616c4:	68 d3 04 00 00       	push   $0x4d3
5616c9:	68 c0 ec 69 00       	push   $0x69ecc0
5616ce:	68 9c ec 69 00       	push   $0x69ec9c
5616d3:	e8 68 94 ff ff       	call   0x55ab40
5616d8:	83 c4 0c             	add    $0xc,%esp
5616db:	8b 13                	mov    (%ebx),%edx
5616dd:	8b 46 04             	mov    0x4(%esi),%eax
5616e0:	03 c2                	add    %edx,%eax
5616e2:	33 d2                	xor    %edx,%edx
5616e4:	48                   	dec    %eax
5616e5:	59                   	pop    %ecx
5616e6:	f7 33                	divl   (%ebx)
5616e8:	2b c8                	sub    %eax,%ecx
5616ea:	89 4b 08             	mov    %ecx,0x8(%ebx)
5616ed:	8b 43 04             	mov    0x4(%ebx),%eax
5616f0:	85 c0                	test   %eax,%eax
5616f2:	77 17                	ja     0x56170b
5616f4:	68 d4 04 00 00       	push   $0x4d4
5616f9:	68 ec ec 69 00       	push   $0x69ecec
5616fe:	68 ca ec 69 00       	push   $0x69ecca
561703:	e8 38 94 ff ff       	call   0x55ab40
561708:	83 c4 0c             	add    $0xc,%esp
56170b:	8b 46 10             	mov    0x10(%esi),%eax
56170e:	8b 6b 04             	mov    0x4(%ebx),%ebp
561711:	03 c5                	add    %ebp,%eax
561713:	48                   	dec    %eax
561714:	33 d2                	xor    %edx,%edx
561716:	f7 f5                	div    %ebp
561718:	50                   	push   %eax
561719:	8b 43 04             	mov    0x4(%ebx),%eax
56171c:	85 c0                	test   %eax,%eax
56171e:	77 17                	ja     0x561737
561720:	68 d5 04 00 00       	push   $0x4d5
561725:	68 1a ed 69 00       	push   $0x69ed1a
56172a:	68 f6 ec 69 00       	push   $0x69ecf6
56172f:	e8 0c 94 ff ff       	call   0x55ab40
561734:	83 c4 0c             	add    $0xc,%esp
561737:	8b 53 04             	mov    0x4(%ebx),%edx
56173a:	8b 46 08             	mov    0x8(%esi),%eax
56173d:	03 c2                	add    %edx,%eax
56173f:	33 d2                	xor    %edx,%edx
561741:	48                   	dec    %eax
561742:	59                   	pop    %ecx
561743:	f7 73 04             	divl   0x4(%ebx)
561746:	2b c8                	sub    %eax,%ecx
561748:	33 c0                	xor    %eax,%eax
56174a:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56174d:	89 43 18             	mov    %eax,0x18(%ebx)
561750:	33 c0                	xor    %eax,%eax
561752:	89 43 1c             	mov    %eax,0x1c(%ebx)
561755:	66 ff 04 24          	incw   (%esp)
561759:	83 c3 20             	add    $0x20,%ebx
56175c:	0f b7 04 24          	movzwl (%esp),%eax
561760:	8b 56 38             	mov    0x38(%esi),%edx
561763:	3b c2                	cmp    %edx,%eax
561765:	0f 8c fb fe ff ff    	jl     0x561666
56176b:	33 c9                	xor    %ecx,%ecx
56176d:	89 0e                	mov    %ecx,(%esi)
56176f:	8b 46 14             	mov    0x14(%esi),%eax
561772:	85 c0                	test   %eax,%eax
561774:	77 17                	ja     0x56178d
561776:	68 dc 04 00 00       	push   $0x4dc
56177b:	68 59 ed 69 00       	push   $0x69ed59
561780:	68 24 ed 69 00       	push   $0x69ed24
561785:	e8 b6 93 ff ff       	call   0x55ab40
56178a:	83 c4 0c             	add    $0xc,%esp
56178d:	8b 46 0c             	mov    0xc(%esi),%eax
561790:	8b 56 1c             	mov    0x1c(%esi),%edx
561793:	2b c2                	sub    %edx,%eax
561795:	8b 5e 14             	mov    0x14(%esi),%ebx
561798:	03 c3                	add    %ebx,%eax
56179a:	48                   	dec    %eax
56179b:	33 d2                	xor    %edx,%edx
56179d:	f7 f3                	div    %ebx
56179f:	89 46 24             	mov    %eax,0x24(%esi)
5617a2:	8b 46 18             	mov    0x18(%esi),%eax
5617a5:	85 c0                	test   %eax,%eax