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
436904:	55                   	push   %ebp
436905:	8b ec                	mov    %esp,%ebp
436907:	ff 75 0c             	push   0xc(%ebp)
43690a:	6a 00                	push   $0x0
43690c:	ff 75 08             	push   0x8(%ebp)
43690f:	68 df 01 44 00       	push   $0x4401df
436914:	e8 d5 fe ff ff       	call   0x4367ee
436919:	83 c4 10             	add    $0x10,%esp
43691c:	5d                   	pop    %ebp
43691d:	c3                   	ret
43691e:	8b ff                	mov    %edi,%edi
436920:	55                   	push   %ebp
436921:	8b ec                	mov    %esp,%ebp
436923:	51                   	push   %ecx
436924:	56                   	push   %esi
436925:	8b 75 0c             	mov    0xc(%ebp),%esi
436928:	56                   	push   %esi
436929:	e8 e4 f8 ff ff       	call   0x436212
43692e:	89 45 0c             	mov    %eax,0xc(%ebp)
436931:	8b 46 0c             	mov    0xc(%esi),%eax
436934:	59                   	pop    %ecx
436935:	a8 82                	test   $0x82,%al
436937:	75 17                	jne    0x436950
436939:	e8 6a e0 ff ff       	call   0x4349a8
43693e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
436944:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
436948:	83 c8 ff             	or     $0xffffffff,%eax
43694b:	e9 2f 01 00 00       	jmp    0x436a7f
436950:	a8 40                	test   $0x40,%al
436952:	74 0d                	je     0x436961
436954:	e8 4f e0 ff ff       	call   0x4349a8
436959:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
43695f:	eb e3                	jmp    0x436944
436961:	53                   	push   %ebx
436962:	33 db                	xor    %ebx,%ebx
436964:	a8 01                	test   $0x1,%al
436966:	74 16                	je     0x43697e
436968:	89 5e 04             	mov    %ebx,0x4(%esi)
43696b:	a8 10                	test   $0x10,%al
43696d:	0f 84 87 00 00 00    	je     0x4369fa
436973:	8b 4e 08             	mov    0x8(%esi),%ecx
436976:	83 e0 fe             	and    $0xfffffffe,%eax
436979:	89 0e                	mov    %ecx,(%esi)
43697b:	89 46 0c             	mov    %eax,0xc(%esi)
43697e:	8b 46 0c             	mov    0xc(%esi),%eax
436981:	83 e0 ef             	and    $0xffffffef,%eax
436984:	83 c8 02             	or     $0x2,%eax
436987:	89 46 0c             	mov    %eax,0xc(%esi)
43698a:	89 5e 04             	mov    %ebx,0x4(%esi)
43698d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
436990:	a9 0c 01 00 00       	test   $0x10c,%eax
436995:	75 2c                	jne    0x4369c3
436997:	e8 ac 99 ff ff       	call   0x430348
43699c:	83 c0 20             	add    $0x20,%eax
43699f:	3b f0                	cmp    %eax,%esi
4369a1:	74 0c                	je     0x4369af
4369a3:	e8 a0 99 ff ff       	call   0x430348
4369a8:	83 c0 40             	add    $0x40,%eax
4369ab:	3b f0                	cmp    %eax,%esi
4369ad:	75 0d                	jne    0x4369bc
4369af:	ff 75 0c             	push   0xc(%ebp)
4369b2:	e8 a7 83 00 00       	call   0x43ed5e
4369b7:	59                   	pop    %ecx
4369b8:	85 c0                	test   %eax,%eax
4369ba:	75 07                	jne    0x4369c3
4369bc:	56                   	push   %esi
4369bd:	e8 b7 ad 00 00       	call   0x441779
4369c2:	59                   	pop    %ecx
4369c3:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
4369ca:	57                   	push   %edi
4369cb:	0f 84 80 00 00 00    	je     0x436a51
4369d1:	8b 46 08             	mov    0x8(%esi),%eax
4369d4:	8b 3e                	mov    (%esi),%edi
4369d6:	8d 48 01             	lea    0x1(%eax),%ecx
4369d9:	89 0e                	mov    %ecx,(%esi)
4369db:	8b 4e 18             	mov    0x18(%esi),%ecx
4369de:	2b f8                	sub    %eax,%edi
4369e0:	49                   	dec    %ecx
4369e1:	89 4e 04             	mov    %ecx,0x4(%esi)
4369e4:	3b fb                	cmp    %ebx,%edi
4369e6:	7e 1d                	jle    0x436a05
4369e8:	57                   	push   %edi
4369e9:	50                   	push   %eax
4369ea:	ff 75 0c             	push   0xc(%ebp)
4369ed:	e8 f3 32 00 00       	call   0x439ce5
4369f2:	83 c4 0c             	add    $0xc,%esp
4369f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4369f8:	eb 4d                	jmp    0x436a47
4369fa:	83 c8 20             	or     $0x20,%eax
4369fd:	89 46 0c             	mov    %eax,0xc(%esi)
436a00:	83 c8 ff             	or     $0xffffffff,%eax
436a03:	eb 79                	jmp    0x436a7e
436a05:	8b 4d 0c             	mov    0xc(%ebp),%ecx
436a08:	83 f9 ff             	cmp    $0xffffffff,%ecx
436a0b:	74 1b                	je     0x436a28
436a0d:	83 f9 fe             	cmp    $0xfffffffe,%ecx
436a10:	74 16                	je     0x436a28
436a12:	8b c1                	mov    %ecx,%eax
436a14:	83 e0 1f             	and    $0x1f,%eax
436a17:	8b d1                	mov    %ecx,%edx
436a19:	c1 fa 05             	sar    $0x5,%edx
436a1c:	c1 e0 06             	shl    $0x6,%eax
436a1f:	03 04 95 80 17 47 00 	add    0x471780(,%edx,4),%eax
436a26:	eb 05                	jmp    0x436a2d
436a28:	b8 68 f6 46 00       	mov    $0x46f668,%eax
436a2d:	f6 40 04 20          	testb  $0x20,0x4(%eax)
436a31:	74 14                	je     0x436a47
436a33:	6a 02                	push   $0x2
436a35:	53                   	push   %ebx
436a36:	53                   	push   %ebx
436a37:	51                   	push   %ecx
436a38:	e8 f6 3f 00 00       	call   0x43aa33
436a3d:	23 c2                	and    %edx,%eax
436a3f:	83 c4 10             	add    $0x10,%esp
436a42:	83 f8 ff             	cmp    $0xffffffff,%eax
436a45:	74 25                	je     0x436a6c
436a47:	8b 46 08             	mov    0x8(%esi),%eax
436a4a:	8a 4d 08             	mov    0x8(%ebp),%cl
436a4d:	88 08                	mov    %cl,(%eax)
436a4f:	eb 16                	jmp    0x436a67
436a51:	33 ff                	xor    %edi,%edi
436a53:	47                   	inc    %edi
436a54:	57                   	push   %edi
436a55:	8d 45 08             	lea    0x8(%ebp),%eax
436a58:	50                   	push   %eax
436a59:	ff 75 0c             	push   0xc(%ebp)
436a5c:	e8 84 32 00 00       	call   0x439ce5
436a61:	83 c4 0c             	add    $0xc,%esp
436a64:	89 45 fc             	mov    %eax,-0x4(%ebp)
436a67:	39 7d fc             	cmp    %edi,-0x4(%ebp)
436a6a:	74 09                	je     0x436a75
436a6c:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
436a70:	83 c8 ff             	or     $0xffffffff,%eax
436a73:	eb 08                	jmp    0x436a7d
436a75:	8b 45 08             	mov    0x8(%ebp),%eax
436a78:	25 ff 00 00 00       	and    $0xff,%eax
436a7d:	5f                   	pop    %edi
436a7e:	5b                   	pop    %ebx
436a7f:	5e                   	pop    %esi
436a80:	c9                   	leave
436a81:	c3                   	ret
436a82:	8b ff                	mov    %edi,%edi
436a84:	55                   	push   %ebp
436a85:	8b ec                	mov    %esp,%ebp
436a87:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
436a8b:	74 06                	je     0x436a93
436a8d:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
436a91:	74 1a                	je     0x436aad
436a93:	50                   	push   %eax
436a94:	ff 75 08             	push   0x8(%ebp)
436a97:	e8 26 ad 00 00       	call   0x4417c2
436a9c:	59                   	pop    %ecx
436a9d:	59                   	pop    %ecx
436a9e:	b9 ff ff 00 00       	mov    $0xffff,%ecx
436aa3:	66 3b c1             	cmp    %cx,%ax
436aa6:	75 05                	jne    0x436aad
436aa8:	83 0e ff             	orl    $0xffffffff,(%esi)
436aab:	5d                   	pop    %ebp
436aac:	c3                   	ret
436aad:	ff 06                	incl   (%esi)
436aaf:	5d                   	pop    %ebp
436ab0:	c3                   	ret
436ab1:	8b ff                	mov    %edi,%edi
436ab3:	55                   	push   %ebp
436ab4:	8b ec                	mov    %esp,%ebp
436ab6:	56                   	push   %esi
436ab7:	8b f0                	mov    %eax,%esi
436ab9:	eb 14                	jmp    0x436acf
436abb:	ff 75 08             	push   0x8(%ebp)
436abe:	8b 45 10             	mov    0x10(%ebp),%eax
436ac1:	ff 4d 0c             	decl   0xc(%ebp)
436ac4:	e8 b9 ff ff ff       	call   0x436a82
436ac9:	83 3e ff             	cmpl   $0xffffffff,(%esi)
436acc:	59                   	pop    %ecx
436acd:	74 06                	je     0x436ad5