4343b0:	e8 16 ff ff ff       	call   0x4342cb
4343b5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4343b9:	85 f6                	test   %esi,%esi
4343bb:	79 13                	jns    0x4343d0
4343bd:	8b 4d 04             	mov    0x4(%ebp),%ecx
4343c0:	56                   	push   %esi
4343c1:	68 18 5d 40 00       	push   $0x405d18
4343c6:	6a 25                	push   $0x25
4343c8:	5a                   	pop    %edx
4343c9:	e8 3c 7d ff ff       	call   0x42c10a
4343ce:	eb 73                	jmp    0x434443
4343d0:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4343d4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4343d7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4343db:	e8 c1 59 fe ff       	call   0x419da1
4343e0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4343e3:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4343e6:	89 45 b8             	mov    %eax,-0x48(%ebp)
4343e9:	8b 45 cc             	mov    -0x34(%ebp),%eax
4343ec:	89 45 bc             	mov    %eax,-0x44(%ebp)
4343ef:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4343f2:	50                   	push   %eax
4343f3:	e8 3b 01 00 00       	call   0x434533
4343f8:	8b f0                	mov    %eax,%esi
4343fa:	85 f6                	test   %esi,%esi
4343fc:	79 0a                	jns    0x434408
4343fe:	56                   	push   %esi
4343ff:	68 18 5d 40 00       	push   $0x405d18
434404:	6a 28                	push   $0x28
434406:	eb 26                	jmp    0x43442e
434408:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43440b:	53                   	push   %ebx
43440c:	68 8c 5e 40 00       	push   $0x405e8c
434411:	50                   	push   %eax
434412:	8b 08                	mov    (%eax),%ecx
434414:	8b 31                	mov    (%ecx),%esi
434416:	8b ce                	mov    %esi,%ecx
434418:	ff 15 20 a5 43 00    	call   *0x43a520
43441e:	ff d6                	call   *%esi
434420:	8b f0                	mov    %eax,%esi
434422:	85 f6                	test   %esi,%esi
434424:	79 13                	jns    0x434439
434426:	56                   	push   %esi
434427:	68 18 5d 40 00       	push   $0x405d18
43442c:	6a 2a                	push   $0x2a
43442e:	8b 4d 04             	mov    0x4(%ebp),%ecx
434431:	5a                   	pop    %edx
434432:	e8 d3 7c ff ff       	call   0x42c10a
434437:	eb 02                	jmp    0x43443b
434439:	33 f6                	xor    %esi,%esi
43443b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
43443e:	e8 5e 59 fe ff       	call   0x419da1
434443:	8d 4d c8             	lea    -0x38(%ebp),%ecx
434446:	e8 2b fe ff ff       	call   0x434276
43444b:	8b c6                	mov    %esi,%eax
43444d:	e8 9e 69 fe ff       	call   0x41adf0
434452:	c2 04 00             	ret    $0x4
434455:	6a 38                	push   $0x38
434457:	b8 b1 fa 41 00       	mov    $0x41fab1,%eax
43445c:	e8 e0 69 fe ff       	call   0x41ae41
434461:	8b fa                	mov    %edx,%edi
434463:	8b 5d 08             	mov    0x8(%ebp),%ebx
434466:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
434469:	33 c9                	xor    %ecx,%ecx
43446b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
43446e:	89 4d d0             	mov    %ecx,-0x30(%ebp)
434471:	89 4d fc             	mov    %ecx,-0x4(%ebp)
434474:	8d 45 cc             	lea    -0x34(%ebp),%eax
434477:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43447a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
43447d:	ff 75 d4             	push   -0x2c(%ebp)
434480:	8d 45 d4             	lea    -0x2c(%ebp),%eax
434483:	50                   	push   %eax
434484:	8d 4d d8             	lea    -0x28(%ebp),%ecx
434487:	e8 37 fc ff ff       	call   0x4340c3
43448c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
434490:	8d 4d c8             	lea    -0x38(%ebp),%ecx
434493:	8b 37                	mov    (%edi),%esi
434495:	51                   	push   %ecx
434496:	ff 70 14             	push   0x14(%eax)
434499:	8b 4e 18             	mov    0x18(%esi),%ecx
43449c:	57                   	push   %edi
43449d:	ff 15 20 a5 43 00    	call   *0x43a520
4344a3:	ff 56 18             	call   *0x18(%esi)
4344a6:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4344aa:	8b f0                	mov    %eax,%esi
4344ac:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4344b0:	ff 75 c8             	push   -0x38(%ebp)
4344b3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4344b6:	e8 10 fe ff ff       	call   0x4342cb
4344bb:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4344bf:	85 f6                	test   %esi,%esi
4344c1:	79 0a                	jns    0x4344cd
4344c3:	56                   	push   %esi
4344c4:	68 18 5d 40 00       	push   $0x405d18
4344c9:	6a 32                	push   $0x32
4344cb:	eb 47                	jmp    0x434514
4344cd:	8b 55 cc             	mov    -0x34(%ebp),%edx
4344d0:	8b 45 d0             	mov    -0x30(%ebp),%eax
4344d3:	89 55 bc             	mov    %edx,-0x44(%ebp)
4344d6:	89 45 c0             	mov    %eax,-0x40(%ebp)
4344d9:	85 db                	test   %ebx,%ebx
4344db:	75 07                	jne    0x4344e4
4344dd:	be 03 40 00 80       	mov    $0x80004003,%esi
4344e2:	eb 28                	jmp    0x43450c
4344e4:	83 23 00             	andl   $0x0,(%ebx)
4344e7:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4344ea:	e8 d6 00 00 00       	call   0x4345c5
4344ef:	8b f0                	mov    %eax,%esi
4344f1:	85 f6                	test   %esi,%esi
4344f3:	78 17                	js     0x43450c
4344f5:	8b 02                	mov    (%edx),%eax
4344f7:	53                   	push   %ebx
4344f8:	52                   	push   %edx
4344f9:	8b 70 4c             	mov    0x4c(%eax),%esi
4344fc:	8b ce                	mov    %esi,%ecx
4344fe:	ff 15 20 a5 43 00    	call   *0x43a520
434504:	ff d6                	call   *%esi
434506:	8b f0                	mov    %eax,%esi
434508:	85 f6                	test   %esi,%esi
43450a:	79 13                	jns    0x43451f
43450c:	56                   	push   %esi
43450d:	68 18 5d 40 00       	push   $0x405d18
434512:	6a 34                	push   $0x34
434514:	8b 4d 04             	mov    0x4(%ebp),%ecx
434517:	5a                   	pop    %edx
434518:	e8 ed 7b ff ff       	call   0x42c10a
43451d:	eb 02                	jmp    0x434521
43451f:	33 f6                	xor    %esi,%esi
434521:	8d 4d cc             	lea    -0x34(%ebp),%ecx
434524:	e8 4d fd ff ff       	call   0x434276
434529:	8b c6                	mov    %esi,%eax
43452b:	e8 c0 68 fe ff       	call   0x41adf0
434530:	c2 04 00             	ret    $0x4
434533:	8b ff                	mov    %edi,%edi
434535:	55                   	push   %ebp
434536:	8b ec                	mov    %esp,%ebp
434538:	8b 55 08             	mov    0x8(%ebp),%edx
43453b:	85 d2                	test   %edx,%edx
43453d:	75 07                	jne    0x434546
43453f:	b8 03 40 00 80       	mov    $0x80004003,%eax
434544:	eb 35                	jmp    0x43457b
434546:	83 22 00             	andl   $0x0,(%edx)
434549:	8b 41 04             	mov    0x4(%ecx),%eax
43454c:	85 c0                	test   %eax,%eax
43454e:	78 2b                	js     0x43457b
434550:	74 24                	je     0x434576
434552:	83 f8 03             	cmp    $0x3,%eax
434555:	74 05                	je     0x43455c
434557:	83 f8 01             	cmp    $0x1,%eax
43455a:	75 1a                	jne    0x434576
43455c:	8b 09                	mov    (%ecx),%ecx
43455e:	89 0a                	mov    %ecx,(%edx)
434560:	56                   	push   %esi
434561:	51                   	push   %ecx
434562:	8b 01                	mov    (%ecx),%eax
434564:	8b 70 04             	mov    0x4(%eax),%esi
434567:	8b ce                	mov    %esi,%ecx
434569:	ff 15 20 a5 43 00    	call   *0x43a520
43456f:	ff d6                	call   *%esi
434571:	33 c0                	xor    %eax,%eax
434573:	5e                   	pop    %esi
434574:	eb 05                	jmp    0x43457b
434576:	b8 a0 8c 02 80       	mov    $0x80028ca0,%eax
43457b:	5d                   	pop    %ebp
43457c:	c2 04 00             	ret    $0x4
43457f:	8b ff                	mov    %edi,%edi
434581:	55                   	push   %ebp
434582:	8b ec                	mov    %esp,%ebp
434584:	56                   	push   %esi
434585:	8b 75 08             	mov    0x8(%ebp),%esi
434588:	85 f6                	test   %esi,%esi
43458a:	74 2f                	je     0x4345bb
43458c:	8b 55 0c             	mov    0xc(%ebp),%edx
43458f:	85 d2                	test   %edx,%edx
434591:	74 28                	je     0x4345bb
434593:	83 26 00             	andl   $0x0,(%esi)
434596:	83 22 00             	andl   $0x0,(%edx)
434599:	e8 27 00 00 00       	call   0x4345c5
43459e:	85 c0                	test   %eax,%eax
4345a0:	78 1e                	js     0x4345c0
4345a2:	8b 01                	mov    (%ecx),%eax
4345a4:	52                   	push   %edx
4345a5:	56                   	push   %esi
4345a6:	50                   	push   %eax
4345a7:	8b 08                	mov    (%eax),%ecx
4345a9:	8b b1 98 00 00 00    	mov    0x98(%ecx),%esi
4345af:	8b ce                	mov    %esi,%ecx
4345b1:	ff 15 20 a5 43 00    	call   *0x43a520
4345b7:	ff d6                	call   *%esi
4345b9:	eb 05                	jmp    0x4345c0
4345bb:	b8 03 40 00 80       	mov    $0x80004003,%eax
4345c0:	5e                   	pop    %esi
4345c1:	5d                   	pop    %ebp
4345c2:	c2 08 00             	ret    $0x8
4345c5:	8b 41 04             	mov    0x4(%ecx),%eax
4345c8:	83 f8 07             	cmp    $0x7,%eax
4345cb:	75 03                	jne    0x4345d0
4345cd:	33 c0                	xor    %eax,%eax
4345cf:	c3                   	ret
4345d0:	85 c0                	test   %eax,%eax
4345d2:	78 05                	js     0x4345d9
4345d4:	b8 a0 8c 02 80       	mov    $0x80028ca0,%eax
4345d9:	c3                   	ret
4345da:	8b ff                	mov    %edi,%edi
4345dc:	55                   	push   %ebp
4345dd:	8b ec                	mov    %esp,%ebp
4345df:	51                   	push   %ecx
4345e0:	53                   	push   %ebx
4345e1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4345e4:	56                   	push   %esi
4345e5:	8b f1                	mov    %ecx,%esi
4345e7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4345ea:	57                   	push   %edi
4345eb:	8b 43 10             	mov    0x10(%ebx),%eax
4345ee:	3b c1                	cmp    %ecx,%eax
4345f0:	73 05                	jae    0x4345f7
4345f2:	e8 71 9b ff ff       	call   0x42e168
4345f7:	8b 7d 10             	mov    0x10(%ebp),%edi
4345fa:	2b c1                	sub    %ecx,%eax
4345fc:	3b c7                	cmp    %edi,%eax
4345fe:	73 02                	jae    0x434602
434600:	8b f8                	mov    %eax,%edi
434602:	8b 4e 10             	mov    0x10(%esi),%ecx
434605:	8b c1                	mov    %ecx,%eax
434607:	f7 d0                	not    %eax
434609:	3b c7                	cmp    %edi,%eax
43460b:	77 05                	ja     0x434612
43460d:	e8 4b 9b ff ff       	call   0x42e15d
434612:	85 ff                	test   %edi,%edi
434614:	74 52                	je     0x434668
434616:	8d 04 39             	lea    (%ecx,%edi,1),%eax
434619:	51                   	push   %ecx
43461a:	50                   	push   %eax
43461b:	8b ce                	mov    %esi,%ecx
43461d:	89 45 fc             	mov    %eax,-0x4(%ebp)
434620:	e8 eb 6b fd ff       	call   0x40b210
434625:	84 c0                	test   %al,%al
434627:	74 3f                	je     0x434668
434629:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
43462d:	72 02                	jb     0x434631
43462f:	8b 1b                	mov    (%ebx),%ebx
434631:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
434635:	72 04                	jb     0x43463b
434637:	8b 0e                	mov    (%esi),%ecx
434639:	eb 02                	jmp    0x43463d
43463b:	8b ce                	mov    %esi,%ecx
43463d:	8b 45 0c             	mov    0xc(%ebp),%eax
434640:	57                   	push   %edi
434641:	8d 14 43             	lea    (%ebx,%eax,2),%edx
434644:	8b 46 10             	mov    0x10(%esi),%eax
434647:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
43464a:	e8 a2 6b fd ff       	call   0x40b1f1
43464f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
434653:	59                   	pop    %ecx
434654:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434657:	89 4e 10             	mov    %ecx,0x10(%esi)
43465a:	72 04                	jb     0x434660
43465c:	8b 06                	mov    (%esi),%eax
43465e:	eb 02                	jmp    0x434662
434660:	8b c6                	mov    %esi,%eax
434662:	33 d2                	xor    %edx,%edx
434664:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
434668:	5f                   	pop    %edi
434669:	8b c6                	mov    %esi,%eax
43466b:	5e                   	pop    %esi
43466c:	5b                   	pop    %ebx
43466d:	c9                   	leave
43466e:	c2 0c 00             	ret    $0xc
434671:	8b ff                	mov    %edi,%edi
434673:	55                   	push   %ebp
434674:	8b ec                	mov    %esp,%ebp
434676:	51                   	push   %ecx
434677:	56                   	push   %esi
434678:	57                   	push   %edi
434679:	8b 7d 08             	mov    0x8(%ebp),%edi
43467c:	8b f1                	mov    %ecx,%esi
43467e:	57                   	push   %edi
43467f:	e8 ef 6e fd ff       	call   0x40b573
434684:	84 c0                	test   %al,%al
434686:	74 1c                	je     0x4346a4
434688:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43468c:	72 04                	jb     0x434692
43468e:	8b 06                	mov    (%esi),%eax
434690:	eb 02                	jmp    0x434694
434692:	8b c6                	mov    %esi,%eax
434694:	ff 75 0c             	push   0xc(%ebp)
434697:	2b f8                	sub    %eax,%edi
434699:	d1 ff                	sar    $1,%edi
43469b:	57                   	push   %edi
43469c:	56                   	push   %esi
43469d:	e8 38 ff ff ff       	call   0x4345da
4346a2:	eb 61                	jmp    0x434705
4346a4:	8b 4e 10             	mov    0x10(%esi),%ecx
4346a7:	8b c1                	mov    %ecx,%eax
4346a9:	53                   	push   %ebx
4346aa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4346ad:	f7 d0                	not    %eax
4346af:	3b c3                	cmp    %ebx,%eax
4346b1:	77 05                	ja     0x4346b8
4346b3:	e8 a5 9a ff ff       	call   0x42e15d
4346b8:	85 db                	test   %ebx,%ebx
4346ba:	74 46                	je     0x434702
4346bc:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4346bf:	51                   	push   %ecx
4346c0:	50                   	push   %eax
4346c1:	8b ce                	mov    %esi,%ecx
4346c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4346c6:	e8 45 6b fd ff       	call   0x40b210
4346cb:	84 c0                	test   %al,%al
4346cd:	74 33                	je     0x434702
4346cf:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4346d3:	72 04                	jb     0x4346d9
4346d5:	8b 0e                	mov    (%esi),%ecx
4346d7:	eb 02                	jmp    0x4346db
4346d9:	8b ce                	mov    %esi,%ecx
4346db:	8b 46 10             	mov    0x10(%esi),%eax
4346de:	8b d7                	mov    %edi,%edx
4346e0:	53                   	push   %ebx
4346e1:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4346e4:	e8 08 6b fd ff       	call   0x40b1f1
4346e9:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4346ed:	59                   	pop    %ecx
4346ee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4346f1:	89 4e 10             	mov    %ecx,0x10(%esi)
4346f4:	72 04                	jb     0x4346fa
4346f6:	8b 06                	mov    (%esi),%eax
4346f8:	eb 02                	jmp    0x4346fc
4346fa:	8b c6                	mov    %esi,%eax
4346fc:	33 d2                	xor    %edx,%edx
4346fe:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
434702:	8b c6                	mov    %esi,%eax
434704:	5b                   	pop    %ebx
434705:	5f                   	pop    %edi
434706:	5e                   	pop    %esi
434707:	c9                   	leave
434708:	c2 08 00             	ret    $0x8
43470b:	8b ff                	mov    %edi,%edi
43470d:	55                   	push   %ebp
43470e:	8b ec                	mov    %esp,%ebp
434710:	8b 41 04             	mov    0x4(%ecx),%eax
434713:	85 c0                	test   %eax,%eax
434715:	78 40                	js     0x434757
434717:	83 e8 00             	sub    $0x0,%eax
43471a:	74 33                	je     0x43474f
43471c:	83 e8 01             	sub    $0x1,%eax
43471f:	74 23                	je     0x434744
434721:	48                   	dec    %eax
434722:	83 e8 01             	sub    $0x1,%eax
434725:	74 1d                	je     0x434744