436554:	3b 05 90 0f 47 00    	cmp    0x470f90,%eax
43655a:	76 03                	jbe    0x43655f
43655c:	83 c8 ff             	or     $0xffffffff,%eax
43655f:	8b f0                	mov    %eax,%esi
436561:	83 f8 ff             	cmp    $0xffffffff,%eax
436564:	75 bd                	jne    0x436523
436566:	8b c7                	mov    %edi,%eax
436568:	5f                   	pop    %edi
436569:	5e                   	pop    %esi
43656a:	5d                   	pop    %ebp
43656b:	c3                   	ret
43656c:	6a 10                	push   $0x10
43656e:	68 60 de 46 00       	push   $0x46de60
436573:	e8 08 e8 ff ff       	call   0x434d80
436578:	33 db                	xor    %ebx,%ebx
43657a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
43657d:	6a 01                	push   $0x1
43657f:	e8 9d d3 ff ff       	call   0x433921
436584:	59                   	pop    %ecx
436585:	89 5d fc             	mov    %ebx,-0x4(%ebp)
436588:	6a 03                	push   $0x3
43658a:	5f                   	pop    %edi
43658b:	89 7d e0             	mov    %edi,-0x20(%ebp)
43658e:	3b 3d e0 2b 47 00    	cmp    0x472be0,%edi
436594:	7d 54                	jge    0x4365ea
436596:	8b f7                	mov    %edi,%esi
436598:	a1 a0 18 47 00       	mov    0x4718a0,%eax
43659d:	39 1c b0             	cmp    %ebx,(%eax,%esi,4)
4365a0:	74 45                	je     0x4365e7
4365a2:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4365a5:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
4365a9:	74 0f                	je     0x4365ba
4365ab:	50                   	push   %eax
4365ac:	e8 6f ab ff ff       	call   0x431120
4365b1:	59                   	pop    %ecx
4365b2:	83 f8 ff             	cmp    $0xffffffff,%eax
4365b5:	74 03                	je     0x4365ba
4365b7:	ff 45 e4             	incl   -0x1c(%ebp)
4365ba:	83 ff 14             	cmp    $0x14,%edi
4365bd:	7c 28                	jl     0x4365e7
4365bf:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365c4:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4365c7:	83 c0 20             	add    $0x20,%eax
4365ca:	50                   	push   %eax
4365cb:	ff 15 fc 34 47 00    	call   *0x4734fc
4365d1:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365d6:	ff 34 b0             	push   (%eax,%esi,4)
4365d9:	e8 bf a3 ff ff       	call   0x43099d
4365de:	59                   	pop    %ecx
4365df:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365e4:	89 1c b0             	mov    %ebx,(%eax,%esi,4)
4365e7:	47                   	inc    %edi
4365e8:	eb a1                	jmp    0x43658b
4365ea:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4365f1:	e8 09 00 00 00       	call   0x4365ff
4365f6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4365f9:	e8 c7 e7 ff ff       	call   0x434dc5
4365fe:	c3                   	ret
4365ff:	6a 01                	push   $0x1
436601:	e8 2a d2 ff ff       	call   0x433830
436606:	59                   	pop    %ecx
436607:	c3                   	ret
436608:	8b ff                	mov    %edi,%edi
43660a:	55                   	push   %ebp
43660b:	8b ec                	mov    %esp,%ebp
43660d:	53                   	push   %ebx
43660e:	56                   	push   %esi
43660f:	8b 75 08             	mov    0x8(%ebp),%esi
436612:	8b 46 0c             	mov    0xc(%esi),%eax
436615:	8b c8                	mov    %eax,%ecx
436617:	80 e1 03             	and    $0x3,%cl
43661a:	33 db                	xor    %ebx,%ebx
43661c:	80 f9 02             	cmp    $0x2,%cl
43661f:	75 40                	jne    0x436661
436621:	a9 08 01 00 00       	test   $0x108,%eax
436626:	74 39                	je     0x436661
436628:	8b 46 08             	mov    0x8(%esi),%eax
43662b:	57                   	push   %edi
43662c:	8b 3e                	mov    (%esi),%edi
43662e:	2b f8                	sub    %eax,%edi
436630:	85 ff                	test   %edi,%edi
436632:	7e 2c                	jle    0x436660
436634:	57                   	push   %edi
436635:	50                   	push   %eax
436636:	56                   	push   %esi
436637:	e8 d6 fb ff ff       	call   0x436212
43663c:	59                   	pop    %ecx
43663d:	50                   	push   %eax
43663e:	e8 a2 36 00 00       	call   0x439ce5
436643:	83 c4 0c             	add    $0xc,%esp
436646:	3b c7                	cmp    %edi,%eax
436648:	75 0f                	jne    0x436659
43664a:	8b 46 0c             	mov    0xc(%esi),%eax
43664d:	84 c0                	test   %al,%al
43664f:	79 0f                	jns    0x436660
436651:	83 e0 fd             	and    $0xfffffffd,%eax
436654:	89 46 0c             	mov    %eax,0xc(%esi)
436657:	eb 07                	jmp    0x436660
436659:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
43665d:	83 cb ff             	or     $0xffffffff,%ebx
436660:	5f                   	pop    %edi
436661:	8b 46 08             	mov    0x8(%esi),%eax
436664:	83 66 04 00          	andl   $0x0,0x4(%esi)
436668:	89 06                	mov    %eax,(%esi)
43666a:	5e                   	pop    %esi
43666b:	8b c3                	mov    %ebx,%eax
43666d:	5b                   	pop    %ebx
43666e:	5d                   	pop    %ebp
43666f:	c3                   	ret
436670:	8b ff                	mov    %edi,%edi
436672:	55                   	push   %ebp
436673:	8b ec                	mov    %esp,%ebp
436675:	56                   	push   %esi
436676:	8b 75 08             	mov    0x8(%ebp),%esi
436679:	85 f6                	test   %esi,%esi
43667b:	75 09                	jne    0x436686
43667d:	56                   	push   %esi
43667e:	e8 35 00 00 00       	call   0x4366b8
436683:	59                   	pop    %ecx
436684:	eb 2f                	jmp    0x4366b5
436686:	56                   	push   %esi
436687:	e8 7c ff ff ff       	call   0x436608
43668c:	59                   	pop    %ecx
43668d:	85 c0                	test   %eax,%eax
43668f:	74 05                	je     0x436696
436691:	83 c8 ff             	or     $0xffffffff,%eax
436694:	eb 1f                	jmp    0x4366b5
436696:	f7 46 0c 00 40 00 00 	testl  $0x4000,0xc(%esi)
43669d:	74 14                	je     0x4366b3
43669f:	56                   	push   %esi
4366a0:	e8 6d fb ff ff       	call   0x436212
4366a5:	50                   	push   %eax
4366a6:	e8 f5 af 00 00       	call   0x4416a0
4366ab:	59                   	pop    %ecx
4366ac:	f7 d8                	neg    %eax
4366ae:	59                   	pop    %ecx
4366af:	1b c0                	sbb    %eax,%eax
4366b1:	eb 02                	jmp    0x4366b5
4366b3:	33 c0                	xor    %eax,%eax
4366b5:	5e                   	pop    %esi
4366b6:	5d                   	pop    %ebp
4366b7:	c3                   	ret
4366b8:	6a 14                	push   $0x14
4366ba:	68 80 de 46 00       	push   $0x46de80
4366bf:	e8 bc e6 ff ff       	call   0x434d80
4366c4:	33 ff                	xor    %edi,%edi
4366c6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4366c9:	89 7d dc             	mov    %edi,-0x24(%ebp)
4366cc:	6a 01                	push   $0x1
4366ce:	e8 4e d2 ff ff       	call   0x433921
4366d3:	59                   	pop    %ecx
4366d4:	89 7d fc             	mov    %edi,-0x4(%ebp)
4366d7:	33 f6                	xor    %esi,%esi
4366d9:	89 75 e0             	mov    %esi,-0x20(%ebp)
4366dc:	3b 35 e0 2b 47 00    	cmp    0x472be0,%esi
4366e2:	0f 8d 83 00 00 00    	jge    0x43676b
4366e8:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4366ed:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4366f0:	39 38                	cmp    %edi,(%eax)
4366f2:	74 5e                	je     0x436752
4366f4:	8b 00                	mov    (%eax),%eax
4366f6:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
4366fa:	74 56                	je     0x436752
4366fc:	50                   	push   %eax
4366fd:	56                   	push   %esi
4366fe:	e8 5d 9d ff ff       	call   0x430460
436703:	59                   	pop    %ecx
436704:	59                   	pop    %ecx
436705:	33 d2                	xor    %edx,%edx
436707:	42                   	inc    %edx
436708:	89 55 fc             	mov    %edx,-0x4(%ebp)
43670b:	a1 a0 18 47 00       	mov    0x4718a0,%eax
436710:	8b 04 b0             	mov    (%eax,%esi,4),%eax
436713:	8b 48 0c             	mov    0xc(%eax),%ecx
436716:	f6 c1 83             	test   $0x83,%cl
436719:	74 2f                	je     0x43674a
43671b:	39 55 08             	cmp    %edx,0x8(%ebp)
43671e:	75 11                	jne    0x436731
436720:	50                   	push   %eax
436721:	e8 4a ff ff ff       	call   0x436670
436726:	59                   	pop    %ecx
436727:	83 f8 ff             	cmp    $0xffffffff,%eax
43672a:	74 1e                	je     0x43674a
43672c:	ff 45 e4             	incl   -0x1c(%ebp)
43672f:	eb 19                	jmp    0x43674a
436731:	39 7d 08             	cmp    %edi,0x8(%ebp)
436734:	75 14                	jne    0x43674a
436736:	f6 c1 02             	test   $0x2,%cl
436739:	74 0f                	je     0x43674a
43673b:	50                   	push   %eax
43673c:	e8 2f ff ff ff       	call   0x436670
436741:	59                   	pop    %ecx
436742:	83 f8 ff             	cmp    $0xffffffff,%eax
436745:	75 03                	jne    0x43674a
436747:	09 45 dc             	or     %eax,-0x24(%ebp)
43674a:	89 7d fc             	mov    %edi,-0x4(%ebp)
43674d:	e8 08 00 00 00       	call   0x43675a
436752:	46                   	inc    %esi
436753:	eb 84                	jmp    0x4366d9
436755:	33 ff                	xor    %edi,%edi
436757:	8b 75 e0             	mov    -0x20(%ebp),%esi
43675a:	a1 a0 18 47 00       	mov    0x4718a0,%eax
43675f:	ff 34 b0             	push   (%eax,%esi,4)
436762:	56                   	push   %esi
436763:	e8 66 9d ff ff       	call   0x4304ce
436768:	59                   	pop    %ecx
436769:	59                   	pop    %ecx
43676a:	c3                   	ret
43676b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
436772:	e8 12 00 00 00       	call   0x436789
436777:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
43677b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43677e:	74 03                	je     0x436783
436780:	8b 45 dc             	mov    -0x24(%ebp),%eax
436783:	e8 3d e6 ff ff       	call   0x434dc5
436788:	c3                   	ret
436789:	6a 01                	push   $0x1
43678b:	e8 a0 d0 ff ff       	call   0x433830
436790:	59                   	pop    %ecx
436791:	c3                   	ret
436792:	6a 0c                	push   $0xc
436794:	68 a8 de 46 00       	push   $0x46dea8
436799:	e8 e2 e5 ff ff       	call   0x434d80
43679e:	33 f6                	xor    %esi,%esi
4367a0:	39 75 08             	cmp    %esi,0x8(%ebp)
4367a3:	75 09                	jne    0x4367ae
4367a5:	56                   	push   %esi
4367a6:	e8 0d ff ff ff       	call   0x4366b8
4367ab:	59                   	pop    %ecx
4367ac:	eb 27                	jmp    0x4367d5
4367ae:	ff 75 08             	push   0x8(%ebp)
4367b1:	e8 69 9c ff ff       	call   0x43041f
4367b6:	59                   	pop    %ecx
4367b7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4367ba:	ff 75 08             	push   0x8(%ebp)
4367bd:	e8 ae fe ff ff       	call   0x436670
4367c2:	59                   	pop    %ecx
4367c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4367c6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4367cd:	e8 09 00 00 00       	call   0x4367db
4367d2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4367d5:	e8 eb e5 ff ff       	call   0x434dc5
4367da:	c3                   	ret
4367db:	ff 75 08             	push   0x8(%ebp)
4367de:	e8 af 9c ff ff       	call   0x430492
4367e3:	59                   	pop    %ecx
4367e4:	c3                   	ret
4367e5:	6a 01                	push   $0x1
4367e7:	e8 cc fe ff ff       	call   0x4366b8
4367ec:	59                   	pop    %ecx
4367ed:	c3                   	ret
4367ee:	6a 10                	push   $0x10
4367f0:	68 c8 de 46 00       	push   $0x46dec8
4367f5:	e8 86 e5 ff ff       	call   0x434d80
4367fa:	e8 49 9b ff ff       	call   0x430348
4367ff:	8d 70 20             	lea    0x20(%eax),%esi
436802:	89 75 e4             	mov    %esi,-0x1c(%ebp)
436805:	33 c0                	xor    %eax,%eax
436807:	39 45 0c             	cmp    %eax,0xc(%ebp)
43680a:	0f 95 c0             	setne  %al
43680d:	85 c0                	test   %eax,%eax
43680f:	75 15                	jne    0x436826
436811:	e8 92 e1 ff ff       	call   0x4349a8
436816:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43681c:	e8 4d db ff ff       	call   0x43436e
436821:	83 c8 ff             	or     $0xffffffff,%eax
436824:	eb 3c                	jmp    0x436862
436826:	56                   	push   %esi
436827:	e8 f3 9b ff ff       	call   0x43041f
43682c:	59                   	pop    %ecx
43682d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
436831:	56                   	push   %esi
436832:	e8 76 e9 ff ff       	call   0x4351ad
436837:	8b f8                	mov    %eax,%edi
436839:	ff 75 14             	push   0x14(%ebp)
43683c:	ff 75 10             	push   0x10(%ebp)
43683f:	ff 75 0c             	push   0xc(%ebp)
436842:	56                   	push   %esi
436843:	ff 55 08             	call   *0x8(%ebp)
436846:	89 45 e0             	mov    %eax,-0x20(%ebp)
436849:	56                   	push   %esi
43684a:	57                   	push   %edi
43684b:	e8 f9 e9 ff ff       	call   0x435249
436850:	83 c4 1c             	add    $0x1c,%esp
436853:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43685a:	e8 0c 00 00 00       	call   0x43686b
43685f:	8b 45 e0             	mov    -0x20(%ebp),%eax
436862:	e8 5e e5 ff ff       	call   0x434dc5
436867:	c3                   	ret
436868:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43686b:	56                   	push   %esi
43686c:	e8 21 9c ff ff       	call   0x430492
436871:	59                   	pop    %ecx
436872:	c3                   	ret
436873:	8b ff                	mov    %edi,%edi
436875:	55                   	push   %ebp
436876:	8b ec                	mov    %esp,%ebp
436878:	ff 75 10             	push   0x10(%ebp)
43687b:	ff 75 0c             	push   0xc(%ebp)
43687e:	ff 75 08             	push   0x8(%ebp)
436881:	68 72 53 43 00       	push   $0x435372
436886:	e8 63 ff ff ff       	call   0x4367ee
43688b:	83 c4 10             	add    $0x10,%esp
43688e:	5d                   	pop    %ebp
43688f:	c3                   	ret
436890:	8b ff                	mov    %edi,%edi
436892:	55                   	push   %ebp
436893:	8b ec                	mov    %esp,%ebp
436895:	ff 75 10             	push   0x10(%ebp)
436898:	ff 75 0c             	push   0xc(%ebp)
43689b:	ff 75 08             	push   0x8(%ebp)
43689e:	68 b0 f3 43 00       	push   $0x43f3b0
4368a3:	e8 46 ff ff ff       	call   0x4367ee
4368a8:	83 c4 10             	add    $0x10,%esp
4368ab:	5d                   	pop    %ebp
4368ac:	c3                   	ret
4368ad:	8b ff                	mov    %edi,%edi
4368af:	55                   	push   %ebp
4368b0:	8b ec                	mov    %esp,%ebp
4368b2:	ff 75 10             	push   0x10(%ebp)
4368b5:	ff 75 0c             	push   0xc(%ebp)
4368b8:	ff 75 08             	push   0x8(%ebp)
4368bb:	68 df 01 44 00       	push   $0x4401df
4368c0:	e8 29 ff ff ff       	call   0x4367ee
4368c5:	83 c4 10             	add    $0x10,%esp
4368c8:	5d                   	pop    %ebp
4368c9:	c3                   	ret
4368ca:	8b ff                	mov    %edi,%edi
4368cc:	55                   	push   %ebp
4368cd:	8b ec                	mov    %esp,%ebp
4368cf:	ff 75 0c             	push   0xc(%ebp)
4368d2:	6a 00                	push   $0x0
4368d4:	ff 75 08             	push   0x8(%ebp)
4368d7:	68 72 53 43 00       	push   $0x435372
4368dc:	e8 0d ff ff ff       	call   0x4367ee
4368e1:	83 c4 10             	add    $0x10,%esp
4368e4:	5d                   	pop    %ebp
4368e5:	c3                   	ret
4368e6:	8b ff                	mov    %edi,%edi
4368e8:	55                   	push   %ebp
4368e9:	8b ec                	mov    %esp,%ebp
4368eb:	ff 75 0c             	push   0xc(%ebp)
4368ee:	6a 00                	push   $0x0
4368f0:	ff 75 08             	push   0x8(%ebp)
4368f3:	68 b0 f3 43 00       	push   $0x43f3b0
4368f8:	e8 f1 fe ff ff       	call   0x4367ee
4368fd:	83 c4 10             	add    $0x10,%esp
436900:	5d                   	pop    %ebp
436901:	c3                   	ret
436902:	8b ff                	mov    %edi,%edi