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
434727:	8b 01                	mov    (%ecx),%eax
434729:	56                   	push   %esi
43472a:	ff 75 08             	push   0x8(%ebp)
43472d:	8b 08                	mov    (%eax),%ecx
43472f:	50                   	push   %eax
434730:	8b 71 18             	mov    0x18(%ecx),%esi
434733:	8b ce                	mov    %esi,%ecx
434735:	ff 15 20 a5 43 00    	call   *0x43a520
43473b:	ff d6                	call   *%esi
43473d:	5e                   	pop    %esi
43473e:	85 c0                	test   %eax,%eax
434740:	79 13                	jns    0x434755
434742:	eb 13                	jmp    0x434757
434744:	8b 45 08             	mov    0x8(%ebp),%eax
434747:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
43474d:	eb 06                	jmp    0x434755
43474f:	8b 45 08             	mov    0x8(%ebp),%eax
434752:	83 20 00             	andl   $0x0,(%eax)
434755:	33 c0                	xor    %eax,%eax
434757:	5d                   	pop    %ebp
434758:	c2 04 00             	ret    $0x4
43475b:	8b ff                	mov    %edi,%edi
43475d:	56                   	push   %esi
43475e:	8b f1                	mov    %ecx,%esi
434760:	83 3e 00             	cmpl   $0x0,(%esi)
434763:	74 15                	je     0x43477a
434765:	51                   	push   %ecx
434766:	e8 d5 f9 ff ff       	call   0x434140
43476b:	ff 36                	push   (%esi)
43476d:	ff 15 64 a0 43 00    	call   *0x43a064
434773:	83 26 00             	andl   $0x0,(%esi)
434776:	83 66 04 00          	andl   $0x0,0x4(%esi)
43477a:	5e                   	pop    %esi
43477b:	c3                   	ret
43477c:	8b ff                	mov    %edi,%edi
43477e:	55                   	push   %ebp
43477f:	8b ec                	mov    %esp,%ebp
434781:	51                   	push   %ecx
434782:	51                   	push   %ecx
434783:	8b 45 0c             	mov    0xc(%ebp),%eax
434786:	53                   	push   %ebx
434787:	8b d9                	mov    %ecx,%ebx
434789:	33 c9                	xor    %ecx,%ecx
43478b:	56                   	push   %esi
43478c:	8d 34 00             	lea    (%eax,%eax,1),%esi
43478f:	57                   	push   %edi
434790:	8b 03                	mov    (%ebx),%eax
434792:	89 75 fc             	mov    %esi,-0x4(%ebp)
434795:	8d 50 01             	lea    0x1(%eax),%edx
434798:	83 e2 fe             	and    $0xfffffffe,%edx
43479b:	2b d0                	sub    %eax,%edx
43479d:	89 55 f8             	mov    %edx,-0x8(%ebp)
4347a0:	74 2c                	je     0x4347ce
4347a2:	39 4b 08             	cmp    %ecx,0x8(%ebx)
4347a5:	74 27                	je     0x4347ce
4347a7:	8b 7b 10             	mov    0x10(%ebx),%edi
4347aa:	51                   	push   %ecx
4347ab:	52                   	push   %edx
4347ac:	68 18 86 43 00       	push   $0x438618
4347b1:	8b 07                	mov    (%edi),%eax
4347b3:	8b 70 04             	mov    0x4(%eax),%esi
4347b6:	8b ce                	mov    %esi,%ecx
4347b8:	ff 15 20 a5 43 00    	call   *0x43a520
4347be:	8b cf                	mov    %edi,%ecx
4347c0:	ff d6                	call   *%esi
4347c2:	8b c8                	mov    %eax,%ecx
4347c4:	85 c9                	test   %ecx,%ecx
4347c6:	78 33                	js     0x4347fb
4347c8:	8b 55 f8             	mov    -0x8(%ebp),%edx
4347cb:	8b 75 fc             	mov    -0x4(%ebp),%esi
4347ce:	01 13                	add    %edx,(%ebx)
4347d0:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4347d4:	74 1c                	je     0x4347f2
4347d6:	8b 7b 10             	mov    0x10(%ebx),%edi
4347d9:	6a 00                	push   $0x0
4347db:	56                   	push   %esi
4347dc:	ff 75 08             	push   0x8(%ebp)
4347df:	8b 07                	mov    (%edi),%eax
4347e1:	8b 70 04             	mov    0x4(%eax),%esi
4347e4:	8b ce                	mov    %esi,%ecx
4347e6:	ff 15 20 a5 43 00    	call   *0x43a520
4347ec:	8b cf                	mov    %edi,%ecx
4347ee:	ff d6                	call   *%esi
4347f0:	8b c8                	mov    %eax,%ecx
4347f2:	85 c9                	test   %ecx,%ecx
4347f4:	78 05                	js     0x4347fb
4347f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4347f9:	01 03                	add    %eax,(%ebx)
4347fb:	5f                   	pop    %edi
4347fc:	5e                   	pop    %esi
4347fd:	8b c1                	mov    %ecx,%eax
4347ff:	5b                   	pop    %ebx
434800:	c9                   	leave
434801:	c2 08 00             	ret    $0x8
434804:	8b ff                	mov    %edi,%edi
434806:	55                   	push   %ebp
434807:	8b ec                	mov    %esp,%ebp
434809:	83 ec 44             	sub    $0x44,%esp
43480c:	a1 08 85 43 00       	mov    0x438508,%eax
434811:	33 c5                	xor    %ebp,%eax
434813:	89 45 fc             	mov    %eax,-0x4(%ebp)
434816:	56                   	push   %esi
434817:	6a 20                	push   $0x20
434819:	8d 45 bc             	lea    -0x44(%ebp),%eax
43481c:	be 04 0c 00 00       	mov    $0xc04,%esi
434821:	50                   	push   %eax
434822:	6a 08                	push   $0x8
434824:	68 04 04 00 00       	push   $0x404
434829:	ff 15 90 a1 43 00    	call   *0x43a190
43482f:	85 c0                	test   %eax,%eax
434831:	74 1e                	je     0x434851
434833:	6a 03                	push   $0x3
434835:	8d 45 bc             	lea    -0x44(%ebp),%eax
434838:	68 ac 83 40 00       	push   $0x4083ac
43483d:	50                   	push   %eax
43483e:	e8 32 65 fe ff       	call   0x41ad75
434843:	83 c4 0c             	add    $0xc,%esp
434846:	f7 d8                	neg    %eax
434848:	1b c0                	sbb    %eax,%eax
43484a:	25 00 f8 ff ff       	and    $0xfffff800,%eax
43484f:	03 f0                	add    %eax,%esi
434851:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434854:	66 8b c6             	mov    %si,%ax
434857:	33 cd                	xor    %ebp,%ecx
434859:	5e                   	pop    %esi
43485a:	e8 61 5f fe ff       	call   0x41a7c0
43485f:	c9                   	leave
434860:	c3                   	ret
434861:	8b ff                	mov    %edi,%edi
434863:	55                   	push   %ebp
434864:	8b ec                	mov    %esp,%ebp
434866:	83 ec 14             	sub    $0x14,%esp
434869:	a1 08 85 43 00       	mov    0x438508,%eax
43486e:	33 c5                	xor    %ebp,%eax
434870:	89 45 fc             	mov    %eax,-0x4(%ebp)
434873:	33 c0                	xor    %eax,%eax
434875:	66 3b 05 94 91 43 00 	cmp    0x439194,%ax
43487c:	75 7e                	jne    0x4348fc
43487e:	57                   	push   %edi
43487f:	8d 45 f0             	lea    -0x10(%ebp),%eax
434882:	c7 45 ec 06 00 00 00 	movl   $0x6,-0x14(%ebp)
434889:	50                   	push   %eax
43488a:	6a 01                	push   $0x1
43488c:	33 ff                	xor    %edi,%edi
43488e:	57                   	push   %edi
43488f:	68 c0 83 40 00       	push   $0x4083c0
434894:	68 02 00 00 80       	push   $0x80000002
434899:	ff 15 44 a2 43 00    	call   *0x43a244
43489f:	85 c0                	test   %eax,%eax
4348a1:	75 58                	jne    0x4348fb
4348a3:	56                   	push   %esi
4348a4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4348a7:	50                   	push   %eax
4348a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4348ab:	50                   	push   %eax
4348ac:	57                   	push   %edi
4348ad:	57                   	push   %edi
4348ae:	68 78 84 40 00       	push   $0x408478
4348b3:	ff 75 f0             	push   -0x10(%ebp)
4348b6:	ff 15 3c a2 43 00    	call   *0x43a23c
4348bc:	ff 75 f0             	push   -0x10(%ebp)
4348bf:	8b f0                	mov    %eax,%esi
4348c1:	ff 15 38 a2 43 00    	call   *0x43a238
4348c7:	85 f6                	test   %esi,%esi
4348c9:	5e                   	pop    %esi
4348ca:	75 2f                	jne    0x4348fb
4348cc:	6a 03                	push   $0x3
4348ce:	ff 34 fd 10 1d 40 00 	push   0x401d10(,%edi,8)
4348d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4348d8:	50                   	push   %eax
4348d9:	e8 e8 63 fe ff       	call   0x41acc6
4348de:	83 c4 0c             	add    $0xc,%esp
4348e1:	85 c0                	test   %eax,%eax
4348e3:	74 08                	je     0x4348ed
4348e5:	47                   	inc    %edi