45962e:	8b 4d 08             	mov    0x8(%ebp),%ecx
459631:	8d 45 f0             	lea    -0x10(%ebp),%eax
459634:	50                   	push   %eax
459635:	e8 98 7a fa ff       	call   0x4010d2
45963a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45963d:	83 c1 f0             	add    $0xfffffff0,%ecx
459640:	e8 0d 7d fa ff       	call   0x401352
459645:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459648:	8b 45 08             	mov    0x8(%ebp),%eax
45964b:	5e                   	pop    %esi
45964c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459653:	c9                   	leave
459654:	c2 08 00             	ret    $0x8
459657:	b8 f4 ec 48 00       	mov    $0x48ecf4,%eax
45965c:	c3                   	ret
45965d:	b8 31 3e 48 00       	mov    $0x483e31,%eax
459662:	e8 15 e6 fb ff       	call   0x417c7c
459667:	51                   	push   %ecx
459668:	56                   	push   %esi
459669:	8b f1                	mov    %ecx,%esi
45966b:	89 75 f0             	mov    %esi,-0x10(%ebp)
45966e:	e8 ed 6f 01 00       	call   0x470660
459673:	33 c0                	xor    %eax,%eax
459675:	50                   	push   %eax
459676:	50                   	push   %eax
459677:	50                   	push   %eax
459678:	50                   	push   %eax
459679:	8b ce                	mov    %esi,%ecx
45967b:	89 45 fc             	mov    %eax,-0x4(%ebp)
45967e:	c7 06 f4 ed 48 00    	movl   $0x48edf4,(%esi)
459684:	e8 3c 70 01 00       	call   0x4706c5
459689:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45968c:	8b c6                	mov    %esi,%eax
45968e:	5e                   	pop    %esi
45968f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459696:	c9                   	leave
459697:	c3                   	ret
459698:	e8 af c0 fe ff       	call   0x44574c
45969d:	8b 10                	mov    (%eax),%edx
45969f:	6a 01                	push   $0x1
4596a1:	8b c8                	mov    %eax,%ecx
4596a3:	ff 92 44 01 00 00    	call   *0x144(%edx)
4596a9:	c3                   	ret
4596aa:	55                   	push   %ebp
4596ab:	8b ec                	mov    %esp,%ebp
4596ad:	83 ec 50             	sub    $0x50,%esp
4596b0:	56                   	push   %esi
4596b1:	57                   	push   %edi
4596b2:	8b f1                	mov    %ecx,%esi
4596b4:	e8 46 b5 fe ff       	call   0x444bff
4596b9:	8b f8                	mov    %eax,%edi
4596bb:	85 ff                	test   %edi,%edi
4596bd:	74 7a                	je     0x459739
4596bf:	8b 06                	mov    (%esi),%eax
4596c1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4596c4:	51                   	push   %ecx
4596c5:	ff 75 08             	push   0x8(%ebp)
4596c8:	8b ce                	mov    %esi,%ecx
4596ca:	68 1d 04 00 00       	push   $0x41d
4596cf:	c7 45 b0 50 00 00 00 	movl   $0x50,-0x50(%ebp)
4596d6:	c7 45 b4 11 00 00 00 	movl   $0x11,-0x4c(%ebp)
4596dd:	ff 90 10 01 00 00    	call   *0x110(%eax)
4596e3:	ff 75 d0             	push   -0x30(%ebp)
4596e6:	e8 de b5 fe ff       	call   0x444cc9
4596eb:	50                   	push   %eax
4596ec:	68 14 ca 48 00       	push   $0x48ca14
4596f1:	e8 13 73 fe ff       	call   0x440a09
4596f6:	85 c0                	test   %eax,%eax
4596f8:	59                   	pop    %ecx
4596f9:	59                   	pop    %ecx
4596fa:	74 0c                	je     0x459708
4596fc:	8b 10                	mov    (%eax),%edx
4596fe:	8b c8                	mov    %eax,%ecx
459700:	ff 92 50 01 00 00    	call   *0x150(%edx)
459706:	eb 11                	jmp    0x459719
459708:	6a f0                	push   $0xfffffff0
45970a:	ff 75 d0             	push   -0x30(%ebp)
45970d:	ff 15 14 08 4b 00    	call   *0x4b0814
459713:	c1 e8 1c             	shr    $0x1c,%eax
459716:	83 e0 01             	and    $0x1,%eax
459719:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45971c:	c1 e9 03             	shr    $0x3,%ecx
45971f:	f7 d1                	not    %ecx
459721:	83 e1 01             	and    $0x1,%ecx
459724:	3b c1                	cmp    %ecx,%eax
459726:	74 11                	je     0x459739
459728:	f7 d9                	neg    %ecx
45972a:	1b c9                	sbb    %ecx,%ecx
45972c:	83 e1 05             	and    $0x5,%ecx
45972f:	51                   	push   %ecx
459730:	ff 75 d0             	push   -0x30(%ebp)
459733:	ff 15 ec 07 4b 00    	call   *0x4b07ec
459739:	8b c7                	mov    %edi,%eax
45973b:	5f                   	pop    %edi
45973c:	5e                   	pop    %esi
45973d:	c9                   	leave
45973e:	c2 08 00             	ret    $0x8
459741:	8b 44 24 0c          	mov    0xc(%esp),%eax
459745:	8b 11                	mov    (%ecx),%edx
459747:	56                   	push   %esi
459748:	8b f0                	mov    %eax,%esi
45974a:	83 e6 02             	and    $0x2,%esi
45974d:	56                   	push   %esi
45974e:	83 e0 01             	and    $0x1,%eax
459751:	50                   	push   %eax
459752:	ff 74 24 10          	push   0x10(%esp)
459756:	ff 92 30 01 00 00    	call   *0x130(%edx)
45975c:	8b 44 24 08          	mov    0x8(%esp),%eax
459760:	5e                   	pop    %esi
459761:	c2 0c 00             	ret    $0xc
459764:	e9 40 c3 fe ff       	jmp    0x445aa9
459769:	e8 91 b4 fe ff       	call   0x444bff
45976e:	c2 04 00             	ret    $0x4
459771:	e9 37 0b 00 00       	jmp    0x45a2ad
459776:	e9 84 b4 fe ff       	jmp    0x444bff
45977b:	55                   	push   %ebp
45977c:	8b ec                	mov    %esp,%ebp
45977e:	56                   	push   %esi
45977f:	ff 75 0c             	push   0xc(%ebp)
459782:	8b f1                	mov    %ecx,%esi
459784:	ff 75 08             	push   0x8(%ebp)
459787:	ff 76 1c             	push   0x1c(%esi)
45978a:	e8 a1 7c ff ff       	call   0x451430
45978f:	50                   	push   %eax
459790:	e8 34 b5 fe ff       	call   0x444cc9
459795:	85 c0                	test   %eax,%eax
459797:	ff 75 10             	push   0x10(%ebp)
45979a:	ff 75 0c             	push   0xc(%ebp)
45979d:	ff 75 08             	push   0x8(%ebp)
4597a0:	75 09                	jne    0x4597ab
4597a2:	8b ce                	mov    %esi,%ecx
4597a4:	e8 95 9a fe ff       	call   0x44323e
4597a9:	eb 07                	jmp    0x4597b2
4597ab:	8b 10                	mov    (%eax),%edx
4597ad:	8b c8                	mov    %eax,%ecx
4597af:	ff 52 6c             	call   *0x6c(%edx)
4597b2:	5e                   	pop    %esi
4597b3:	5d                   	pop    %ebp
4597b4:	c2 0c 00             	ret    $0xc
4597b7:	56                   	push   %esi
4597b8:	8b f1                	mov    %ecx,%esi
4597ba:	e8 14 00 00 00       	call   0x4597d3
4597bf:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4597c4:	74 07                	je     0x4597cd
4597c6:	56                   	push   %esi
4597c7:	e8 b4 68 fe ff       	call   0x440080
4597cc:	59                   	pop    %ecx
4597cd:	8b c6                	mov    %esi,%eax
4597cf:	5e                   	pop    %esi
4597d0:	c2 04 00             	ret    $0x4
4597d3:	e9 c2 06 00 00       	jmp    0x459e9a
4597d8:	56                   	push   %esi
4597d9:	8b f1                	mov    %ecx,%esi
4597db:	e8 6c bf fe ff       	call   0x44574c
4597e0:	85 c0                	test   %eax,%eax
4597e2:	74 29                	je     0x45980d
4597e4:	83 b8 c4 00 00 00 00 	cmpl   $0x0,0xc4(%eax)
4597eb:	75 0e                	jne    0x4597fb
4597ed:	8b 10                	mov    (%eax),%edx
4597ef:	6a 01                	push   $0x1
4597f1:	8b c8                	mov    %eax,%ecx
4597f3:	ff 92 44 01 00 00    	call   *0x144(%edx)
4597f9:	eb 12                	jmp    0x45980d
4597fb:	6a 00                	push   $0x0
4597fd:	6a 00                	push   $0x0
4597ff:	68 68 03 00 00       	push   $0x368
459804:	ff 76 1c             	push   0x1c(%esi)
459807:	ff 15 c8 07 4b 00    	call   *0x4b07c8
45980d:	8b 44 24 0c          	mov    0xc(%esp),%eax
459811:	83 20 00             	andl   $0x0,(%eax)
459814:	5e                   	pop    %esi
459815:	c2 08 00             	ret    $0x8
459818:	55                   	push   %ebp
459819:	8b ec                	mov    %esp,%ebp
45981b:	83 ec 10             	sub    $0x10,%esp
45981e:	53                   	push   %ebx
45981f:	56                   	push   %esi
459820:	8b 75 0c             	mov    0xc(%ebp),%esi
459823:	83 4e 04 70          	orl    $0x70,0x4(%esi)
459827:	57                   	push   %edi
459828:	8b 7d 08             	mov    0x8(%ebp),%edi
45982b:	c7 06 50 00 00 00    	movl   $0x50,(%esi)
459831:	8b 47 1c             	mov    0x1c(%edi),%eax
459834:	57                   	push   %edi
459835:	68 14 ca 48 00       	push   $0x48ca14
45983a:	8b d9                	mov    %ecx,%ebx
45983c:	89 46 20             	mov    %eax,0x20(%esi)
45983f:	e8 c5 71 fe ff       	call   0x440a09
459844:	85 c0                	test   %eax,%eax
459846:	59                   	pop    %ecx
459847:	59                   	pop    %ecx
459848:	74 21                	je     0x45986b
45984a:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
45984d:	8b 10                	mov    (%eax),%edx
45984f:	81 e1 00 a0 00 00    	and    $0xa000,%ecx
459855:	51                   	push   %ecx
459856:	6a 00                	push   $0x0
459858:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45985b:	51                   	push   %ecx
45985c:	8b c8                	mov    %eax,%ecx
45985e:	ff 92 30 01 00 00    	call   *0x130(%edx)
459864:	8b 10                	mov    (%eax),%edx
459866:	8b 48 04             	mov    0x4(%eax),%ecx
459869:	eb 1b                	jmp    0x459886
45986b:	8d 45 f0             	lea    -0x10(%ebp),%eax
45986e:	50                   	push   %eax
45986f:	ff 77 1c             	push   0x1c(%edi)
459872:	ff 15 40 07 4b 00    	call   *0x4b0740
459878:	8b 45 f8             	mov    -0x8(%ebp),%eax
45987b:	2b 45 f0             	sub    -0x10(%ebp),%eax
45987e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
459881:	2b 4d f4             	sub    -0xc(%ebp),%ecx
459884:	8b d0                	mov    %eax,%edx
459886:	89 4e 28             	mov    %ecx,0x28(%esi)
459889:	81 3d 58 85 4a 00 48 	cmpl   $0x40048,0x4a8558
459890:	00 04 00
459893:	7d 05                	jge    0x45989a
459895:	6a 04                	push   $0x4
459897:	58                   	pop    %eax
459898:	eb 02                	jmp    0x45989c
45989a:	33 c0                	xor    %eax,%eax
45989c:	03 c2                	add    %edx,%eax
45989e:	ba 00 02 00 00       	mov    $0x200,%edx
4598a3:	85 56 08             	test   %edx,0x8(%esi)
4598a6:	89 46 44             	mov    %eax,0x44(%esi)
4598a9:	89 46 2c             	mov    %eax,0x2c(%esi)
4598ac:	74 08                	je     0x4598b6
4598ae:	09 56 04             	or     %edx,0x4(%esi)
4598b1:	89 4e 24             	mov    %ecx,0x24(%esi)
4598b4:	eb 03                	jmp    0x4598b9
4598b6:	89 46 24             	mov    %eax,0x24(%esi)
4598b9:	8b 03                	mov    (%ebx),%eax
4598bb:	56                   	push   %esi
4598bc:	6a ff                	push   $0xffffffff
4598be:	68 01 04 00 00       	push   $0x401
4598c3:	8b cb                	mov    %ebx,%ecx
4598c5:	ff 90 10 01 00 00    	call   *0x110(%eax)
4598cb:	85 c0                	test   %eax,%eax
4598cd:	74 2e                	je     0x4598fd
4598cf:	8b cb                	mov    %ebx,%ecx
4598d1:	e8 76 be fe ff       	call   0x44574c
4598d6:	85 c0                	test   %eax,%eax
4598d8:	74 0c                	je     0x4598e6
4598da:	8b 10                	mov    (%eax),%edx
4598dc:	6a 01                	push   $0x1
4598de:	8b c8                	mov    %eax,%ecx
4598e0:	ff 92 44 01 00 00    	call   *0x144(%edx)
4598e6:	6a 00                	push   $0x0
4598e8:	6a 00                	push   $0x0
4598ea:	68 1f 04 00 00       	push   $0x41f
4598ef:	ff 73 1c             	push   0x1c(%ebx)
4598f2:	ff 15 98 08 4b 00    	call   *0x4b0898
4598f8:	33 c0                	xor    %eax,%eax
4598fa:	40                   	inc    %eax
4598fb:	eb 02                	jmp    0x4598ff
4598fd:	33 c0                	xor    %eax,%eax
4598ff:	5f                   	pop    %edi
459900:	5e                   	pop    %esi
459901:	5b                   	pop    %ebx
459902:	c9                   	leave
459903:	c2 08 00             	ret    $0x8
459906:	55                   	push   %ebp
459907:	8b ec                	mov    %esp,%ebp
459909:	83 ec 50             	sub    $0x50,%esp
45990c:	8b 45 14             	mov    0x14(%ebp),%eax
45990f:	89 45 b8             	mov    %eax,-0x48(%ebp)
459912:	8b 45 0c             	mov    0xc(%ebp),%eax
459915:	85 c0                	test   %eax,%eax
459917:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
45991e:	74 0a                	je     0x45992a
459920:	c7 45 b4 05 00 00 00 	movl   $0x5,-0x4c(%ebp)
459927:	89 45 c4             	mov    %eax,-0x3c(%ebp)
45992a:	8b 45 10             	mov    0x10(%ebp),%eax
45992d:	85 c0                	test   %eax,%eax
45992f:	74 0a                	je     0x45993b
459931:	8b 40 04             	mov    0x4(%eax),%eax
459934:	80 4d b4 80          	orb    $0x80,-0x4c(%ebp)
459938:	89 45 e0             	mov    %eax,-0x20(%ebp)
45993b:	8d 45 b0             	lea    -0x50(%ebp),%eax
45993e:	50                   	push   %eax
45993f:	ff 75 08             	push   0x8(%ebp)
459942:	e8 d1 fe ff ff       	call   0x459818
459947:	c9                   	leave
459948:	c2 10 00             	ret    $0x10
45994b:	55                   	push   %ebp
45994c:	8b ec                	mov    %esp,%ebp
45994e:	83 ec 50             	sub    $0x50,%esp
459951:	8b 45 18             	mov    0x18(%ebp),%eax
459954:	89 45 b8             	mov    %eax,-0x48(%ebp)
459957:	8b 45 0c             	mov    0xc(%ebp),%eax
45995a:	89 45 bc             	mov    %eax,-0x44(%ebp)
45995d:	8b 45 10             	mov    0x10(%ebp),%eax
459960:	89 45 c0             	mov    %eax,-0x40(%ebp)
459963:	8b 45 14             	mov    0x14(%ebp),%eax
459966:	85 c0                	test   %eax,%eax
459968:	c7 45 b4 03 00 00 00 	movl   $0x3,-0x4c(%ebp)
45996f:	74 0a                	je     0x45997b
459971:	c7 45 b4 07 00 00 00 	movl   $0x7,-0x4c(%ebp)
459978:	89 45 c4             	mov    %eax,-0x3c(%ebp)
45997b:	8d 45 b0             	lea    -0x50(%ebp),%eax
45997e:	50                   	push   %eax
45997f:	ff 75 08             	push   0x8(%ebp)
459982:	e8 91 fe ff ff       	call   0x459818
459987:	c9                   	leave
459988:	c2 14 00             	ret    $0x14
45998b:	55                   	push   %ebp
45998c:	8b ec                	mov    %esp,%ebp
45998e:	83 ec 70             	sub    $0x70,%esp
459991:	53                   	push   %ebx
459992:	56                   	push   %esi
459993:	57                   	push   %edi
459994:	6a 00                	push   $0x0
459996:	8b f1                	mov    %ecx,%esi
459998:	8b 06                	mov    (%esi),%eax
45999a:	6a 00                	push   $0x0
45999c:	68 0c 04 00 00       	push   $0x40c
4599a1:	ff 90 10 01 00 00    	call   *0x110(%eax)
4599a7:	8b d8                	mov    %eax,%ebx
4599a9:	85 db                	test   %ebx,%ebx
4599ab:	c7 45 90 50 00 00 00 	movl   $0x50,-0x70(%ebp)
4599b2:	8b fb                	mov    %ebx,%edi
4599b4:	74 76                	je     0x459a2c
4599b6:	8b 06                	mov    (%esi),%eax
4599b8:	8d 4d 90             	lea    -0x70(%ebp),%ecx
4599bb:	51                   	push   %ecx
4599bc:	4f                   	dec    %edi
4599bd:	57                   	push   %edi
4599be:	68 1d 04 00 00       	push   $0x41d
4599c3:	8b ce                	mov    %esi,%ecx
4599c5:	c7 45 94 11 00 00 00 	movl   $0x11,-0x6c(%ebp)
4599cc:	ff 90 10 01 00 00    	call   *0x110(%eax)
4599d2:	ff 75 b0             	push   -0x50(%ebp)
4599d5:	e8 ef b2 fe ff       	call   0x444cc9
4599da:	50                   	push   %eax
4599db:	68 14 ca 48 00       	push   $0x48ca14
4599e0:	e8 24 70 fe ff       	call   0x440a09
4599e5:	85 c0                	test   %eax,%eax
4599e7:	59                   	pop    %ecx
4599e8:	59                   	pop    %ecx
4599e9:	74 0c                	je     0x4599f7
4599eb:	8b 10                	mov    (%eax),%edx
4599ed:	8b c8                	mov    %eax,%ecx
4599ef:	ff 92 50 01 00 00    	call   *0x150(%edx)
4599f5:	eb 11                	jmp    0x459a08
4599f7:	6a f0                	push   $0xfffffff0
4599f9:	ff 75 b0             	push   -0x50(%ebp)
4599fc:	ff 15 14 08 4b 00    	call   *0x4b0814
459a02:	c1 e8 1c             	shr    $0x1c,%eax
459a05:	83 e0 01             	and    $0x1,%eax
459a08:	8b 4d 98             	mov    -0x68(%ebp),%ecx