45962a:	6a 00                	push   $0x0
45962c:	6a fe                	push   $0xfffffffe
45962e:	eb db                	jmp    0x45960b
459630:	8b 43 04             	mov    0x4(%ebx),%eax
459633:	57                   	push   %edi
459634:	57                   	push   %edi
459635:	57                   	push   %edi
459636:	ff 30                	push   (%eax)
459638:	e8 53 85 fb ff       	call   0x411b90
45963d:	83 c4 10             	add    $0x10,%esp
459640:	8b c8                	mov    %eax,%ecx
459642:	89 44 24 10          	mov    %eax,0x10(%esp)
459646:	e8 3b 3c fb ff       	call   0x40d286
45964b:	8b d8                	mov    %eax,%ebx
45964d:	33 c0                	xor    %eax,%eax
45964f:	66 89 44 24 40       	mov    %ax,0x40(%esp)
459654:	8d 7c 24 42          	lea    0x42(%esp),%edi
459658:	ab                   	stos   %eax,%es:(%edi)
459659:	ab                   	stos   %eax,%es:(%edi)
45965a:	ab                   	stos   %eax,%es:(%edi)
45965b:	66 ab                	stos   %ax,%es:(%edi)
45965d:	c7 44 24 20 10 00 00 	movl   $0x10,0x20(%esp)
459664:	00
459665:	83 fb ff             	cmp    $0xffffffff,%ebx
459668:	74 9d                	je     0x459607
45966a:	33 c9                	xor    %ecx,%ecx
45966c:	8d 44 24 38          	lea    0x38(%esp),%eax
459670:	50                   	push   %eax
459671:	51                   	push   %ecx
459672:	51                   	push   %ecx
459673:	8d 44 24 6c          	lea    0x6c(%esp),%eax
459677:	50                   	push   %eax
459678:	51                   	push   %ecx
459679:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
45967d:	c7 44 24 50 a0 86 01 	movl   $0x186a0,0x50(%esp)
459684:	00
459685:	89 5c 24 78          	mov    %ebx,0x78(%esp)
459689:	c7 44 24 74 01 00 00 	movl   $0x1,0x74(%esp)
459690:	00
459691:	ff 15 c8 d7 48 00    	call   *0x48d7c8
459697:	83 f8 ff             	cmp    $0xffffffff,%eax
45969a:	75 0e                	jne    0x4596aa
45969c:	6a 00                	push   $0x0
45969e:	ff 15 f4 d7 48 00    	call   *0x48d7f4
4596a4:	50                   	push   %eax
4596a5:	e9 61 ff ff ff       	jmp    0x45960b
4596aa:	8b 7c 24 14          	mov    0x14(%esp),%edi
4596ae:	8d 47 01             	lea    0x1(%edi),%eax
4596b1:	50                   	push   %eax
4596b2:	e8 33 5e fc ff       	call   0x41f4ea
4596b7:	59                   	pop    %ecx
4596b8:	50                   	push   %eax
4596b9:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4596bd:	e8 f5 b0 fa ff       	call   0x4047b7
4596c2:	8d 44 24 60          	lea    0x60(%esp),%eax
4596c6:	50                   	push   %eax
4596c7:	53                   	push   %ebx
4596c8:	ff 15 b0 d7 48 00    	call   *0x48d7b0
4596ce:	85 c0                	test   %eax,%eax
4596d0:	0f 84 9d 01 00 00    	je     0x459873
4596d6:	8d 44 24 20          	lea    0x20(%esp),%eax
4596da:	50                   	push   %eax
4596db:	8d 44 24 44          	lea    0x44(%esp),%eax
4596df:	50                   	push   %eax
4596e0:	6a 00                	push   $0x0
4596e2:	57                   	push   %edi
4596e3:	8b 7c 24 28          	mov    0x28(%esp),%edi
4596e7:	57                   	push   %edi
4596e8:	53                   	push   %ebx
4596e9:	ff 15 c4 d7 48 00    	call   *0x48d7c4
4596ef:	8b d8                	mov    %eax,%ebx
4596f1:	83 fb ff             	cmp    $0xffffffff,%ebx
4596f4:	75 0e                	jne    0x459704
4596f6:	6a 00                	push   $0x0
4596f8:	ff 15 f4 d7 48 00    	call   *0x48d7f4
4596fe:	50                   	push   %eax
4596ff:	e9 73 01 00 00       	jmp    0x459877
459704:	8b 45 08             	mov    0x8(%ebp),%eax
459707:	33 f6                	xor    %esi,%esi
459709:	83 78 08 03          	cmpl   $0x3,0x8(%eax)
45970d:	0f 82 e8 00 00 00    	jb     0x4597fb
459713:	8b 40 04             	mov    0x4(%eax),%eax
459716:	8b 48 08             	mov    0x8(%eax),%ecx
459719:	e8 68 3b fb ff       	call   0x40d286
45971e:	8b 4d 08             	mov    0x8(%ebp),%ecx
459721:	83 e0 01             	and    $0x1,%eax
459724:	8b 49 04             	mov    0x4(%ecx),%ecx
459727:	89 44 24 24          	mov    %eax,0x24(%esp)
45972b:	8b 49 08             	mov    0x8(%ecx),%ecx
45972e:	e8 53 3b fb ff       	call   0x40d286
459733:	8b f0                	mov    %eax,%esi
459735:	83 e6 02             	and    $0x2,%esi
459738:	89 74 24 14          	mov    %esi,0x14(%esp)
45973c:	0f 84 a5 00 00 00    	je     0x4597e7
459742:	33 ff                	xor    %edi,%edi
459744:	6a 03                	push   $0x3
459746:	47                   	inc    %edi
459747:	57                   	push   %edi
459748:	ff 75 0c             	push   0xc(%ebp)
45974b:	e8 00 29 fc ff       	call   0x41c050
459750:	57                   	push   %edi
459751:	57                   	push   %edi
459752:	6a 00                	push   $0x0
459754:	ff 75 0c             	push   0xc(%ebp)
459757:	e8 34 84 fb ff       	call   0x411b90
45975c:	83 c4 1c             	add    $0x1c,%esp
45975f:	8b f0                	mov    %eax,%esi
459761:	ff 74 24 44          	push   0x44(%esp)
459765:	ff 15 f8 d7 48 00    	call   *0x48d7f8
45976b:	50                   	push   %eax
45976c:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
459770:	e8 8a 3b fe ff       	call   0x43d2ff
459775:	8d 44 24 50          	lea    0x50(%esp),%eax
459779:	50                   	push   %eax
45977a:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
45977e:	e8 30 12 00 00       	call   0x45a9b3
459783:	50                   	push   %eax
459784:	8b ce                	mov    %esi,%ecx
459786:	e8 dd d3 fa ff       	call   0x406b68
45978b:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45978f:	e8 a3 33 fb ff       	call   0x40cb37
459794:	6a 02                	push   $0x2
459796:	57                   	push   %edi
459797:	6a 00                	push   $0x0
459799:	ff 75 0c             	push   0xc(%ebp)
45979c:	e8 ef 83 fb ff       	call   0x411b90
4597a1:	83 c4 10             	add    $0x10,%esp
4597a4:	8b f8                	mov    %eax,%edi
4597a6:	ff 74 24 42          	push   0x42(%esp)
4597aa:	ff 15 c0 d7 48 00    	call   *0x48d7c0
4597b0:	8b cf                	mov    %edi,%ecx
4597b2:	0f b7 f0             	movzwl %ax,%esi
4597b5:	e8 66 94 fb ff       	call   0x412c20
4597ba:	33 c0                	xor    %eax,%eax
4597bc:	40                   	inc    %eax
4597bd:	6a 00                	push   $0x0
4597bf:	50                   	push   %eax
4597c0:	6a 00                	push   $0x0
4597c2:	ff 75 0c             	push   0xc(%ebp)
4597c5:	89 47 0c             	mov    %eax,0xc(%edi)
4597c8:	89 37                	mov    %esi,(%edi)
4597ca:	e8 c1 83 fb ff       	call   0x411b90
4597cf:	83 c4 10             	add    $0x10,%esp
4597d2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4597d6:	89 44 24 10          	mov    %eax,0x10(%esp)
4597da:	e8 58 33 fb ff       	call   0x40cb37
4597df:	8b 7c 24 18          	mov    0x18(%esp),%edi
4597e3:	8b 74 24 14          	mov    0x14(%esp),%esi
4597e7:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
4597ec:	74 0d                	je     0x4597fb
4597ee:	53                   	push   %ebx
4597ef:	57                   	push   %edi
4597f0:	53                   	push   %ebx
4597f1:	85 f6                	test   %esi,%esi
4597f3:	74 6b                	je     0x459860
4597f5:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4597f9:	eb 68                	jmp    0x459863
4597fb:	57                   	push   %edi
4597fc:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
459800:	e8 cb 7f fc ff       	call   0x4217d0
459805:	59                   	pop    %ecx
459806:	53                   	push   %ebx
459807:	3b c3                	cmp    %ebx,%eax
459809:	75 4b                	jne    0x459856
45980b:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
45980f:	e8 fb d2 fa ff       	call   0x406b0f
459814:	57                   	push   %edi
459815:	8d 4c 24 54          	lea    0x54(%esp),%ecx
459819:	e8 e1 3a fe ff       	call   0x43d2ff
45981e:	8d 44 24 28          	lea    0x28(%esp),%eax
459822:	50                   	push   %eax
459823:	8d 44 24 54          	lea    0x54(%esp),%eax
459827:	50                   	push   %eax
459828:	e8 b1 29 fb ff       	call   0x40c1de
45982d:	8d 4c 24 50          	lea    0x50(%esp),%ecx
459831:	e8 01 33 fb ff       	call   0x40cb37
459836:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45983a:	8d 44 24 28          	lea    0x28(%esp),%eax
45983e:	50                   	push   %eax
45983f:	85 f6                	test   %esi,%esi
459841:	75 03                	jne    0x459846
459843:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459846:	e8 1d d3 fa ff       	call   0x406b68
45984b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45984f:	e8 e3 32 fb ff       	call   0x40cb37
459854:	eb 2d                	jmp    0x459883
459856:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45985a:	57                   	push   %edi
45985b:	53                   	push   %ebx
45985c:	85 f6                	test   %esi,%esi
45985e:	75 03                	jne    0x459863
459860:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459863:	e8 7b 0b ff ff       	call   0x44a3e3
459868:	50                   	push   %eax
459869:	e8 12 56 fc ff       	call   0x41ee80
45986e:	83 c4 0c             	add    $0xc,%esp
459871:	eb 10                	jmp    0x459883
459873:	6a 00                	push   $0x0
459875:	6a ff                	push   $0xffffffff
459877:	8b 06                	mov    (%esi),%eax
459879:	8b 48 04             	mov    0x4(%eax),%ecx
45987c:	03 ce                	add    %esi,%ecx
45987e:	e8 c9 36 ff ff       	call   0x44cf4c
459883:	8d 4c 24 18          	lea    0x18(%esp),%ecx
459887:	e8 56 af fa ff       	call   0x4047e2
45988c:	5f                   	pop    %edi
45988d:	5e                   	pop    %esi
45988e:	33 c0                	xor    %eax,%eax
459890:	5b                   	pop    %ebx
459891:	8b e5                	mov    %ebp,%esp
459893:	5d                   	pop    %ebp
459894:	c2 08 00             	ret    $0x8
459897:	55                   	push   %ebp
459898:	8b ec                	mov    %esp,%ebp
45989a:	83 ec 10             	sub    $0x10,%esp
45989d:	53                   	push   %ebx
45989e:	56                   	push   %esi
45989f:	8b 75 08             	mov    0x8(%ebp),%esi
4598a2:	57                   	push   %edi
4598a3:	8b 46 04             	mov    0x4(%esi),%eax
4598a6:	6a 00                	push   $0x0
4598a8:	33 ff                	xor    %edi,%edi
4598aa:	47                   	inc    %edi
4598ab:	57                   	push   %edi
4598ac:	57                   	push   %edi
4598ad:	ff 30                	push   (%eax)
4598af:	8b d9                	mov    %ecx,%ebx
4598b1:	e8 da 82 fb ff       	call   0x411b90
4598b6:	83 c4 10             	add    $0x10,%esp
4598b9:	85 c0                	test   %eax,%eax
4598bb:	75 19                	jne    0x4598d6
4598bd:	8b 75 0c             	mov    0xc(%ebp),%esi
4598c0:	8b ce                	mov    %esi,%ecx
4598c2:	e8 59 93 fb ff       	call   0x412c20
4598c7:	83 26 00             	andl   $0x0,(%esi)
4598ca:	6a 00                	push   $0x0
4598cc:	89 7e 0c             	mov    %edi,0xc(%esi)
4598cf:	6a ff                	push   $0xffffffff
4598d1:	e9 e9 00 00 00       	jmp    0x4599bf
4598d6:	8b c8                	mov    %eax,%ecx
4598d8:	e8 a9 39 fb ff       	call   0x40d286
4598dd:	3d d1 94 b5 02       	cmp    $0x2b594d1,%eax
4598e2:	74 19                	je     0x4598fd
4598e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4598e7:	8b ce                	mov    %esi,%ecx
4598e9:	e8 32 93 fb ff       	call   0x412c20
4598ee:	83 26 00             	andl   $0x0,(%esi)
4598f1:	6a 00                	push   $0x0
4598f3:	89 7e 0c             	mov    %edi,0xc(%esi)
4598f6:	6a fe                	push   $0xfffffffe
4598f8:	e9 c2 00 00 00       	jmp    0x4599bf
4598fd:	8b 46 04             	mov    0x4(%esi),%eax
459900:	6a 02                	push   $0x2
459902:	8b 38                	mov    (%eax),%edi
459904:	6a 01                	push   $0x1
459906:	6a 01                	push   $0x1
459908:	57                   	push   %edi
459909:	e8 82 82 fb ff       	call   0x411b90
45990e:	8b f0                	mov    %eax,%esi
459910:	83 c4 10             	add    $0x10,%esp
459913:	8b ce                	mov    %esi,%ecx
459915:	e8 52 fa fa ff       	call   0x40936c
45991a:	8b 76 08             	mov    0x8(%esi),%esi
45991d:	6a 03                	push   $0x3
45991f:	6a 01                	push   $0x1
459921:	6a 01                	push   $0x1
459923:	57                   	push   %edi
459924:	e8 67 82 fb ff       	call   0x411b90
459929:	83 c4 10             	add    $0x10,%esp
45992c:	8b c8                	mov    %eax,%ecx
45992e:	e8 53 39 fb ff       	call   0x40d286
459933:	50                   	push   %eax
459934:	56                   	push   %esi
459935:	8d 45 f0             	lea    -0x10(%ebp),%eax
459938:	50                   	push   %eax
459939:	8b cb                	mov    %ebx,%ecx
45993b:	e8 ec 0e 00 00       	call   0x45a82c
459940:	84 c0                	test   %al,%al
459942:	75 0f                	jne    0x459953
459944:	8b 75 0c             	mov    0xc(%ebp),%esi
459947:	8b ce                	mov    %esi,%ecx
459949:	e8 d2 92 fb ff       	call   0x412c20
45994e:	83 0e ff             	orl    $0xffffffff,(%esi)
459951:	eb 7c                	jmp    0x4599cf
459953:	8b 7d 08             	mov    0x8(%ebp),%edi
459956:	6a 01                	push   $0x1
459958:	8b 47 04             	mov    0x4(%edi),%eax
45995b:	6a 01                	push   $0x1
45995d:	6a 01                	push   $0x1
45995f:	ff 30                	push   (%eax)
459961:	e8 2a 82 fb ff       	call   0x411b90
459966:	83 c4 10             	add    $0x10,%esp
459969:	8b c8                	mov    %eax,%ecx
45996b:	e8 16 39 fb ff       	call   0x40d286
459970:	8b 4f 04             	mov    0x4(%edi),%ecx
459973:	8b f0                	mov    %eax,%esi
459975:	8b 49 04             	mov    0x4(%ecx),%ecx
459978:	e8 de 1b ff ff       	call   0x44b55b
45997d:	8b 4f 04             	mov    0x4(%edi),%ecx
459980:	8b d0                	mov    %eax,%edx
459982:	8b 49 04             	mov    0x4(%ecx),%ecx
459985:	e8 14 1c ff ff       	call   0x44b59e
45998a:	6a 10                	push   $0x10
45998c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45998f:	51                   	push   %ecx
459990:	6a 00                	push   $0x0
459992:	50                   	push   %eax
459993:	52                   	push   %edx
459994:	56                   	push   %esi
459995:	ff 15 f0 d7 48 00    	call   *0x48d7f0
45999b:	8b 75 0c             	mov    0xc(%ebp),%esi
45999e:	8b ce                	mov    %esi,%ecx
4599a0:	8b f8                	mov    %eax,%edi
4599a2:	e8 79 92 fb ff       	call   0x412c20
4599a7:	83 ff ff             	cmp    $0xffffffff,%edi
4599aa:	75 21                	jne    0x4599cd
4599ac:	83 26 00             	andl   $0x0,(%esi)
4599af:	6a 00                	push   $0x0
4599b1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4599b8:	ff 15 f4 d7 48 00    	call   *0x48d7f4
4599be:	50                   	push   %eax
4599bf:	8b 03                	mov    (%ebx),%eax
4599c1:	8b 48 04             	mov    0x4(%eax),%ecx
4599c4:	03 cb                	add    %ebx,%ecx
4599c6:	e8 81 35 ff ff       	call   0x44cf4c
4599cb:	eb 09                	jmp    0x4599d6
4599cd:	89 3e                	mov    %edi,(%esi)
4599cf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4599d6:	5f                   	pop    %edi
4599d7:	5e                   	pop    %esi
4599d8:	33 c0                	xor    %eax,%eax
4599da:	5b                   	pop    %ebx
4599db:	c9                   	leave
4599dc:	c2 08 00             	ret    $0x8
4599df:	55                   	push   %ebp
4599e0:	8b ec                	mov    %esp,%ebp
4599e2:	8b 45 08             	mov    0x8(%ebp),%eax
4599e5:	8b 40 04             	mov    0x4(%eax),%eax
4599e8:	8b 00                	mov    (%eax),%eax
4599ea:	8b 40 0c             	mov    0xc(%eax),%eax
4599ed:	48                   	dec    %eax
4599ee:	83 f8 0e             	cmp    $0xe,%eax
4599f1:	77 70                	ja     0x459a63
4599f3:	ff 24 85 77 9a 45 00 	jmp    *0x459a77(,%eax,4)
4599fa:	68 f8 3d 4b 00       	push   $0x4b3df8
4599ff:	eb 67                	jmp    0x459a68
459a01:	68 04 3e 4b 00       	push   $0x4b3e04
459a06:	eb 60                	jmp    0x459a68
459a08:	68 10 3e 4b 00       	push   $0x4b3e10
459a0d:	eb 59                	jmp    0x459a68