61641b:	5f                   	pop    %edi
61641c:	5e                   	pop    %esi
61641d:	33 cd                	xor    %ebp,%ecx
61641f:	5b                   	pop    %ebx
616420:	e8 b5 b0 fc ff       	call   0x5e14da
616425:	8b e5                	mov    %ebp,%esp
616427:	5d                   	pop    %ebp
616428:	c2 10 00             	ret    $0x10
61642b:	cc                   	int3
61642c:	cc                   	int3
61642d:	cc                   	int3
61642e:	cc                   	int3
61642f:	cc                   	int3
616430:	55                   	push   %ebp
616431:	8b ec                	mov    %esp,%ebp
616433:	51                   	push   %ecx
616434:	53                   	push   %ebx
616435:	8b 5d 0c             	mov    0xc(%ebp),%ebx
616438:	56                   	push   %esi
616439:	8b f1                	mov    %ecx,%esi
61643b:	33 c9                	xor    %ecx,%ecx
61643d:	57                   	push   %edi
61643e:	8b 3b                	mov    (%ebx),%edi
616440:	8b d1                	mov    %ecx,%edx
616442:	8b 5b 04             	mov    0x4(%ebx),%ebx
616445:	8b 46 10             	mov    0x10(%esi),%eax
616448:	89 5d fc             	mov    %ebx,-0x4(%ebp)
61644b:	eb 6f                	jmp    0x6164bc
61644d:	8b 48 14             	mov    0x14(%eax),%ecx
616450:	2b 48 10             	sub    0x10(%eax),%ecx
616453:	33 c0                	xor    %eax,%eax
616455:	2b 4e 20             	sub    0x20(%esi),%ecx
616458:	50                   	push   %eax
616459:	5a                   	pop    %edx
61645a:	1b c2                	sbb    %edx,%eax
61645c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
61645f:	3b c3                	cmp    %ebx,%eax
616461:	77 06                	ja     0x616469
616463:	72 09                	jb     0x61646e
616465:	3b cf                	cmp    %edi,%ecx
616467:	72 05                	jb     0x61646e
616469:	8b cf                	mov    %edi,%ecx
61646b:	89 7d fc             	mov    %edi,-0x4(%ebp)
61646e:	ff 75 14             	push   0x14(%ebp)
616471:	8b 55 08             	mov    0x8(%ebp),%edx
616474:	33 c0                	xor    %eax,%eax
616476:	50                   	push   %eax
616477:	51                   	push   %ecx
616478:	8b 4e 10             	mov    0x10(%esi),%ecx
61647b:	8b 12                	mov    (%edx),%edx
61647d:	8b 41 10             	mov    0x10(%ecx),%eax
616480:	03 46 20             	add    0x20(%esi),%eax
616483:	03 41 0c             	add    0xc(%ecx),%eax
616486:	8b 4d 08             	mov    0x8(%ebp),%ecx
616489:	50                   	push   %eax
61648a:	ff 75 10             	push   0x10(%ebp)
61648d:	ff 92 88 00 00 00    	call   *0x88(%edx)
616493:	8b d0                	mov    %eax,%edx
616495:	85 d2                	test   %edx,%edx
616497:	75 76                	jne    0x61650f
616499:	8b 4d fc             	mov    -0x4(%ebp),%ecx
61649c:	01 4e 18             	add    %ecx,0x18(%esi)
61649f:	11 46 1c             	adc    %eax,0x1c(%esi)
6164a2:	2b f9                	sub    %ecx,%edi
6164a4:	1b d8                	sbb    %eax,%ebx
6164a6:	8b c7                	mov    %edi,%eax
6164a8:	0b c3                	or     %ebx,%eax
6164aa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
6164ad:	74 58                	je     0x616507
6164af:	8b 46 10             	mov    0x10(%esi),%eax
6164b2:	33 c9                	xor    %ecx,%ecx
6164b4:	8b 00                	mov    (%eax),%eax
6164b6:	89 46 10             	mov    %eax,0x10(%esi)
6164b9:	89 4e 20             	mov    %ecx,0x20(%esi)
6164bc:	85 c0                	test   %eax,%eax
6164be:	75 8d                	jne    0x61644d
6164c0:	8b c7                	mov    %edi,%eax
6164c2:	0b c3                	or     %ebx,%eax
6164c4:	74 49                	je     0x61650f
6164c6:	8b 5e 28             	mov    0x28(%esi),%ebx
6164c9:	85 db                	test   %ebx,%ebx
6164cb:	74 3f                	je     0x61650c
6164cd:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
6164d0:	77 06                	ja     0x6164d8
6164d2:	72 06                	jb     0x6164da
6164d4:	3b df                	cmp    %edi,%ebx
6164d6:	72 02                	jb     0x6164da
6164d8:	8b df                	mov    %edi,%ebx
6164da:	ff 75 14             	push   0x14(%ebp)
6164dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
6164e0:	33 d2                	xor    %edx,%edx
6164e2:	52                   	push   %edx
6164e3:	53                   	push   %ebx
6164e4:	ff 76 24             	push   0x24(%esi)
6164e7:	8b 01                	mov    (%ecx),%eax
6164e9:	ff 75 10             	push   0x10(%ebp)
6164ec:	ff 90 88 00 00 00    	call   *0x88(%eax)
6164f2:	8b d0                	mov    %eax,%edx
6164f4:	85 d2                	test   %edx,%edx
6164f6:	75 14                	jne    0x61650c
6164f8:	01 5e 24             	add    %ebx,0x24(%esi)
6164fb:	29 5e 28             	sub    %ebx,0x28(%esi)
6164fe:	2b fb                	sub    %ebx,%edi
616500:	8b 5d fc             	mov    -0x4(%ebp),%ebx
616503:	1b d8                	sbb    %eax,%ebx
616505:	eb 08                	jmp    0x61650f
616507:	01 4e 20             	add    %ecx,0x20(%esi)
61650a:	eb 03                	jmp    0x61650f
61650c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
61650f:	8b 45 0c             	mov    0xc(%ebp),%eax
616512:	29 38                	sub    %edi,(%eax)
616514:	5f                   	pop    %edi
616515:	19 58 04             	sbb    %ebx,0x4(%eax)
616518:	8b c2                	mov    %edx,%eax
61651a:	5e                   	pop    %esi
61651b:	5b                   	pop    %ebx
61651c:	8b e5                	mov    %ebp,%esp
61651e:	5d                   	pop    %ebp
61651f:	c2 10 00             	ret    $0x10
616522:	55                   	push   %ebp
616523:	8b ec                	mov    %esp,%ebp
616525:	53                   	push   %ebx
616526:	8b d9                	mov    %ecx,%ebx
616528:	56                   	push   %esi
616529:	57                   	push   %edi
61652a:	8b 43 14             	mov    0x14(%ebx),%eax
61652d:	2b 43 10             	sub    0x10(%ebx),%eax
616530:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
616534:	77 09                	ja     0x61653f
616536:	8b 7d 0c             	mov    0xc(%ebp),%edi
616539:	72 06                	jb     0x616541
61653b:	3b f8                	cmp    %eax,%edi
61653d:	72 02                	jb     0x616541
61653f:	8b f8                	mov    %eax,%edi
616541:	8b 4d 08             	mov    0x8(%ebp),%ecx
616544:	8b 53 0c             	mov    0xc(%ebx),%edx
616547:	03 53 10             	add    0x10(%ebx),%edx
61654a:	6a 01                	push   $0x1
61654c:	8b 31                	mov    (%ecx),%esi
61654e:	6a 00                	push   $0x0
616550:	57                   	push   %edi
616551:	52                   	push   %edx
616552:	ff 75 14             	push   0x14(%ebp)
616555:	ff 96 8c 00 00 00    	call   *0x8c(%esi)
61655b:	01 7b 10             	add    %edi,0x10(%ebx)
61655e:	8b c7                	mov    %edi,%eax
616560:	5f                   	pop    %edi
616561:	5e                   	pop    %esi
616562:	5b                   	pop    %ebx
616563:	5d                   	pop    %ebp
616564:	c2 10 00             	ret    $0x10
616567:	6a 00                	push   $0x0
616569:	b8 dd 21 66 00       	mov    $0x6621dd,%eax
61656e:	e8 48 ba fc ff       	call   0x5e1fbb
616573:	8b f9                	mov    %ecx,%edi
616575:	8b 57 14             	mov    0x14(%edi),%edx
616578:	8d 45 0c             	lea    0xc(%ebp),%eax
61657b:	8b 75 0c             	mov    0xc(%ebp),%esi
61657e:	83 c2 10             	add    $0x10,%edx
616581:	8b 5d 08             	mov    0x8(%ebp),%ebx
616584:	39 32                	cmp    %esi,(%edx)
616586:	0f 42 c2             	cmovb  %edx,%eax
616589:	8b 00                	mov    (%eax),%eax
61658b:	2b f0                	sub    %eax,%esi
61658d:	29 02                	sub    %eax,(%edx)
61658f:	8b 4f 14             	mov    0x14(%edi),%ecx
616592:	50                   	push   %eax
616593:	8d 04 33             	lea    (%ebx,%esi,1),%eax
616596:	50                   	push   %eax
616597:	8b 41 10             	mov    0x10(%ecx),%eax
61659a:	03 41 0c             	add    0xc(%ecx),%eax
61659d:	50                   	push   %eax
61659e:	e8 5d c9 fc ff       	call   0x5e2f00
6165a3:	83 c4 0c             	add    $0xc,%esp
6165a6:	85 f6                	test   %esi,%esi
6165a8:	74 2d                	je     0x6165d7
6165aa:	6a 18                	push   $0x18
6165ac:	e8 91 aa fc ff       	call   0x5e1042
6165b1:	59                   	pop    %ecx
6165b2:	89 45 0c             	mov    %eax,0xc(%ebp)
6165b5:	33 c9                	xor    %ecx,%ecx
6165b7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
6165ba:	85 c0                	test   %eax,%eax
6165bc:	74 0a                	je     0x6165c8
6165be:	56                   	push   %esi
6165bf:	8b c8                	mov    %eax,%ecx
6165c1:	e8 7f f4 ff ff       	call   0x615a45
6165c6:	8b c8                	mov    %eax,%ecx
6165c8:	8b 47 14             	mov    0x14(%edi),%eax
6165cb:	56                   	push   %esi
6165cc:	89 01                	mov    %eax,(%ecx)
6165ce:	53                   	push   %ebx
6165cf:	89 4f 14             	mov    %ecx,0x14(%edi)
6165d2:	e8 a9 fc ff ff       	call   0x616280
6165d7:	e8 b9 b9 fc ff       	call   0x5e1f95
6165dc:	c2 08 00             	ret    $0x8
6165df:	55                   	push   %ebp
6165e0:	8b ec                	mov    %esp,%ebp
6165e2:	56                   	push   %esi
6165e3:	8b 75 0c             	mov    0xc(%ebp),%esi
6165e6:	56                   	push   %esi
6165e7:	e8 2a f1 ff ff       	call   0x615716
6165ec:	84 c0                	test   %al,%al
6165ee:	8b 45 08             	mov    0x8(%ebp),%eax
6165f1:	59                   	pop    %ecx
6165f2:	74 0b                	je     0x6165ff
6165f4:	8b 0e                	mov    (%esi),%ecx
6165f6:	8b 00                	mov    (%eax),%eax
6165f8:	49                   	dec    %ecx
6165f9:	23 c8                	and    %eax,%ecx
6165fb:	2b c1                	sub    %ecx,%eax
6165fd:	eb 0c                	jmp    0x61660b
6165ff:	8b 08                	mov    (%eax),%ecx
616601:	33 d2                	xor    %edx,%edx
616603:	8b c1                	mov    %ecx,%eax
616605:	f7 36                	divl   (%esi)
616607:	2b ca                	sub    %edx,%ecx
616609:	8b c1                	mov    %ecx,%eax
61660b:	5e                   	pop    %esi
61660c:	5d                   	pop    %ebp
61660d:	c3                   	ret
61660e:	55                   	push   %ebp
61660f:	8b ec                	mov    %esp,%ebp
616611:	51                   	push   %ecx
616612:	51                   	push   %ecx
616613:	8b 45 08             	mov    0x8(%ebp),%eax
616616:	33 d2                	xor    %edx,%edx
616618:	8b 08                	mov    (%eax),%ecx
61661a:	8b 45 0c             	mov    0xc(%ebp),%eax
61661d:	3b 50 04             	cmp    0x4(%eax),%edx
616620:	72 10                	jb     0x616632
616622:	77 04                	ja     0x616628
616624:	3b 08                	cmp    (%eax),%ecx
616626:	76 0a                	jbe    0x616632
616628:	2b 08                	sub    (%eax),%ecx
61662a:	1b 50 04             	sbb    0x4(%eax),%edx
61662d:	89 55 fc             	mov    %edx,-0x4(%ebp)
616630:	eb 0b                	jmp    0x61663d
616632:	0f 57 c0             	xorps  %xmm0,%xmm0
616635:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
61663a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
61663d:	8b c1                	mov    %ecx,%eax
61663f:	8b e5                	mov    %ebp,%esp
616641:	5d                   	pop    %ebp
616642:	c3                   	ret
616643:	55                   	push   %ebp
616644:	8b ec                	mov    %esp,%ebp
616646:	8b 45 0c             	mov    0xc(%ebp),%eax
616649:	8b 4d 08             	mov    0x8(%ebp),%ecx
61664c:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
616650:	8b 11                	mov    (%ecx),%edx
616652:	77 06                	ja     0x61665a
616654:	72 06                	jb     0x61665c
616656:	39 10                	cmp    %edx,(%eax)
616658:	72 02                	jb     0x61665c
61665a:	8b c1                	mov    %ecx,%eax
61665c:	8b 00                	mov    (%eax),%eax
61665e:	5d                   	pop    %ebp
61665f:	c3                   	ret
616660:	55                   	push   %ebp
616661:	8b ec                	mov    %esp,%ebp
616663:	8b 4d 08             	mov    0x8(%ebp),%ecx
616666:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
616669:	74 10                	je     0x61667b
61666b:	8b 45 10             	mov    0x10(%ebp),%eax
61666e:	8a 40 01             	mov    0x1(%eax),%al
616671:	38 01                	cmp    %al,(%ecx)
616673:	75 06                	jne    0x61667b
616675:	41                   	inc    %ecx
616676:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
616679:	75 f6                	jne    0x616671
61667b:	8b c1                	mov    %ecx,%eax
61667d:	5d                   	pop    %ebp
61667e:	c3                   	ret
61667f:	cc                   	int3
616680:	55                   	push   %ebp
616681:	8b ec                	mov    %esp,%ebp
616683:	51                   	push   %ecx
616684:	56                   	push   %esi
616685:	ff 75 08             	push   0x8(%ebp)
616688:	8b f1                	mov    %ecx,%esi
61668a:	89 75 fc             	mov    %esi,-0x4(%ebp)
61668d:	e8 0e 0c e7 ff       	call   0x4872a0
616692:	c7 06 dc ba 6d 00    	movl   $0x6dbadc,(%esi)
616698:	8b c6                	mov    %esi,%eax
61669a:	5e                   	pop    %esi
61669b:	8b e5                	mov    %ebp,%esp
61669d:	5d                   	pop    %ebp
61669e:	c2 04 00             	ret    $0x4
6166a1:	6a 20                	push   $0x20
6166a3:	b8 68 d4 64 00       	mov    $0x64d468,%eax
6166a8:	e8 42 b9 fc ff       	call   0x5e1fef
6166ad:	8b f1                	mov    %ecx,%esi
6166af:	89 75 d4             	mov    %esi,-0x2c(%ebp)
6166b2:	8b 45 08             	mov    0x8(%ebp),%eax
6166b5:	68 e4 ba 6d 00       	push   $0x6dbae4
6166ba:	50                   	push   %eax
6166bb:	8d 45 d8             	lea    -0x28(%ebp),%eax
6166be:	50                   	push   %eax
6166bf:	e8 29 c9 ff ff       	call   0x612fed
6166c4:	83 c4 0c             	add    $0xc,%esp
6166c7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
6166cb:	8b ce                	mov    %esi,%ecx
6166cd:	50                   	push   %eax
6166ce:	6a 00                	push   $0x0
6166d0:	e8 73 d1 ff ff       	call   0x613848
6166d5:	6a 00                	push   $0x0
6166d7:	6a 01                	push   $0x1
6166d9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
6166dc:	c7 06 24 30 69 00    	movl   $0x693024,(%esi)
6166e2:	e8 19 23 e2 ff       	call   0x438a00
6166e7:	c7 06 dc ba 6d 00    	movl   $0x6dbadc,(%esi)
6166ed:	8b c6                	mov    %esi,%eax
6166ef:	e8 b6 b8 fc ff       	call   0x5e1faa
6166f4:	c2 04 00             	ret    $0x4
6166f7:	55                   	push   %ebp
6166f8:	8b ec                	mov    %esp,%ebp
6166fa:	51                   	push   %ecx
6166fb:	56                   	push   %esi
6166fc:	8b f1                	mov    %ecx,%esi
6166fe:	6a 00                	push   $0x0
616700:	89 75 fc             	mov    %esi,-0x4(%ebp)
616703:	e8 2c cf ff ff       	call   0x613634
616708:	8b 45 08             	mov    0x8(%ebp),%eax
61670b:	89 46 0c             	mov    %eax,0xc(%esi)
61670e:	8b c6                	mov    %esi,%eax
616710:	83 66 14 00          	andl   $0x0,0x14(%esi)
616714:	5e                   	pop    %esi
616715:	8b e5                	mov    %ebp,%esp
616717:	5d                   	pop    %ebp
616718:	c2 04 00             	ret    $0x4
61671b:	6a 08                	push   $0x8
61671d:	b8 29 22 66 00       	mov    $0x662229,%eax
616722:	e8 94 b8 fc ff       	call   0x5e1fbb
616727:	8b d9                	mov    %ecx,%ebx
616729:	89 5d f0             	mov    %ebx,-0x10(%ebp)
61672c:	8b 75 18             	mov    0x18(%ebp),%esi
61672f:	8b 7d 1c             	mov    0x1c(%ebp),%edi
616732:	6a 00                	push   $0x0
616734:	89 5d ec             	mov    %ebx,-0x14(%ebp)
616737:	e8 bb ff ff ff       	call   0x6166f7
61673c:	33 c9                	xor    %ecx,%ecx
61673e:	8d 43 18             	lea    0x18(%ebx),%eax
616741:	89 4d fc             	mov    %ecx,-0x4(%ebp)
616744:	89 45 f0             	mov    %eax,-0x10(%ebp)
616747:	89 48 04             	mov    %ecx,0x4(%eax)
61674a:	89 48 08             	mov    %ecx,0x8(%eax)
61674d:	8b 45 08             	mov    0x8(%ebp),%eax
616750:	8d 4b 34             	lea    0x34(%ebx),%ecx
616753:	89 43 24             	mov    %eax,0x24(%ebx)