459735:	2b cb                	sub    %ebx,%ecx
459737:	89 5e 04             	mov    %ebx,0x4(%esi)
45973a:	5f                   	pop    %edi
45973b:	83 c1 10             	add    $0x10,%ecx
45973e:	5e                   	pop    %esi
45973f:	8b c1                	mov    %ecx,%eax
459741:	5b                   	pop    %ebx
459742:	8b e5                	mov    %ebp,%esp
459744:	5d                   	pop    %ebp
459745:	c2 04 00             	ret    $0x4
459748:	5f                   	pop    %edi
459749:	5e                   	pop    %esi
45974a:	33 c0                	xor    %eax,%eax
45974c:	5b                   	pop    %ebx
45974d:	8b e5                	mov    %ebp,%esp
45974f:	5d                   	pop    %ebp
459750:	c2 04 00             	ret    $0x4
459753:	8b c3                	mov    %ebx,%eax
459755:	2b c6                	sub    %esi,%eax
459757:	83 e8 08             	sub    $0x8,%eax
45975a:	50                   	push   %eax
45975b:	8d 46 08             	lea    0x8(%esi),%eax
45975e:	50                   	push   %eax
45975f:	51                   	push   %ecx
459760:	e8 6b 96 17 00       	call   0x5d2dd0
459765:	8b 0e                	mov    (%esi),%ecx
459767:	83 c4 0c             	add    $0xc,%esp
45976a:	8b 46 04             	mov    0x4(%esi),%eax
45976d:	2b cb                	sub    %ebx,%ecx
45976f:	2b de                	sub    %esi,%ebx
459771:	83 c0 f8             	add    $0xfffffff8,%eax
459774:	03 d8                	add    %eax,%ebx
459776:	8b c1                	mov    %ecx,%eax
459778:	5f                   	pop    %edi
459779:	89 5e 04             	mov    %ebx,0x4(%esi)
45977c:	5e                   	pop    %esi
45977d:	5b                   	pop    %ebx
45977e:	8b e5                	mov    %ebp,%esp
459780:	5d                   	pop    %ebp
459781:	c2 04 00             	ret    $0x4
459784:	cc                   	int3
459785:	cc                   	int3
459786:	cc                   	int3
459787:	cc                   	int3
459788:	cc                   	int3
459789:	cc                   	int3
45978a:	cc                   	int3
45978b:	cc                   	int3
45978c:	cc                   	int3
45978d:	cc                   	int3
45978e:	cc                   	int3
45978f:	cc                   	int3
459790:	55                   	push   %ebp
459791:	8b ec                	mov    %esp,%ebp
459793:	56                   	push   %esi
459794:	8b f1                	mov    %ecx,%esi
459796:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
45979a:	75 44                	jne    0x4597e0
45979c:	ff 75 08             	push   0x8(%ebp)
45979f:	e8 bc fe ff ff       	call   0x459660
4597a4:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
4597a8:	75 36                	jne    0x4597e0
4597aa:	8b 4e 04             	mov    0x4(%esi),%ecx
4597ad:	57                   	push   %edi
4597ae:	83 f8 10             	cmp    $0x10,%eax
4597b1:	7e 16                	jle    0x4597c9
4597b3:	33 ff                	xor    %edi,%edi
4597b5:	83 c0 f0             	add    $0xfffffff0,%eax
4597b8:	03 c1                	add    %ecx,%eax
4597ba:	8b d1                	mov    %ecx,%edx
4597bc:	89 06                	mov    %eax,(%esi)
4597be:	8b c2                	mov    %edx,%eax
4597c0:	89 7e 04             	mov    %edi,0x4(%esi)
4597c3:	5f                   	pop    %edi
4597c4:	5e                   	pop    %esi
4597c5:	5d                   	pop    %ebp
4597c6:	c2 04 00             	ret    $0x4
4597c9:	83 c0 08             	add    $0x8,%eax
4597cc:	8d 56 08             	lea    0x8(%esi),%edx
4597cf:	03 c6                	add    %esi,%eax
4597d1:	8b f9                	mov    %ecx,%edi
4597d3:	89 06                	mov    %eax,(%esi)
4597d5:	8b c2                	mov    %edx,%eax
4597d7:	89 7e 04             	mov    %edi,0x4(%esi)
4597da:	5f                   	pop    %edi
4597db:	5e                   	pop    %esi
4597dc:	5d                   	pop    %ebp
4597dd:	c2 04 00             	ret    $0x4
4597e0:	8d 46 08             	lea    0x8(%esi),%eax
4597e3:	5e                   	pop    %esi
4597e4:	5d                   	pop    %ebp
4597e5:	c2 04 00             	ret    $0x4
4597e8:	cc                   	int3
4597e9:	cc                   	int3
4597ea:	cc                   	int3
4597eb:	cc                   	int3
4597ec:	cc                   	int3
4597ed:	cc                   	int3
4597ee:	cc                   	int3
4597ef:	cc                   	int3
4597f0:	55                   	push   %ebp
4597f1:	8b ec                	mov    %esp,%ebp
4597f3:	51                   	push   %ecx
4597f4:	8b d1                	mov    %ecx,%edx
4597f6:	8b 42 04             	mov    0x4(%edx),%eax
4597f9:	8b 0a                	mov    (%edx),%ecx
4597fb:	2b c1                	sub    %ecx,%eax
4597fd:	83 f8 04             	cmp    $0x4,%eax
459800:	7c 14                	jl     0x459816
459802:	8d 41 04             	lea    0x4(%ecx),%eax
459805:	89 02                	mov    %eax,(%edx)
459807:	8b 45 08             	mov    0x8(%ebp),%eax
45980a:	8b 09                	mov    (%ecx),%ecx
45980c:	89 08                	mov    %ecx,(%eax)
45980e:	b0 01                	mov    $0x1,%al
459810:	8b e5                	mov    %ebp,%esp
459812:	5d                   	pop    %ebp
459813:	c2 04 00             	ret    $0x4
459816:	6a 04                	push   $0x4
459818:	8d 45 fc             	lea    -0x4(%ebp),%eax
45981b:	8b ca                	mov    %edx,%ecx
45981d:	50                   	push   %eax
45981e:	e8 8d 00 00 00       	call   0x4598b0
459823:	84 c0                	test   %al,%al
459825:	75 06                	jne    0x45982d
459827:	8b e5                	mov    %ebp,%esp
459829:	5d                   	pop    %ebp
45982a:	c2 04 00             	ret    $0x4
45982d:	8b 45 08             	mov    0x8(%ebp),%eax
459830:	8d 4d fc             	lea    -0x4(%ebp),%ecx
459833:	8b 09                	mov    (%ecx),%ecx
459835:	89 08                	mov    %ecx,(%eax)
459837:	b0 01                	mov    $0x1,%al
459839:	8b e5                	mov    %ebp,%esp
45983b:	5d                   	pop    %ebp
45983c:	c2 04 00             	ret    $0x4
45983f:	cc                   	int3
459840:	55                   	push   %ebp
459841:	8b ec                	mov    %esp,%ebp
459843:	83 ec 0c             	sub    $0xc,%esp
459846:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45984b:	33 c5                	xor    %ebp,%eax
45984d:	89 45 fc             	mov    %eax,-0x4(%ebp)
459850:	8b d1                	mov    %ecx,%edx
459852:	56                   	push   %esi
459853:	8b 75 08             	mov    0x8(%ebp),%esi
459856:	8b 42 04             	mov    0x4(%edx),%eax
459859:	8b 0a                	mov    (%edx),%ecx
45985b:	2b c1                	sub    %ecx,%eax
45985d:	83 f8 08             	cmp    $0x8,%eax
459860:	7c 07                	jl     0x459869
459862:	8d 41 08             	lea    0x8(%ecx),%eax
459865:	89 02                	mov    %eax,(%edx)
459867:	eb 25                	jmp    0x45988e
459869:	6a 08                	push   $0x8
45986b:	8d 45 f4             	lea    -0xc(%ebp),%eax
45986e:	8b ca                	mov    %edx,%ecx
459870:	50                   	push   %eax
459871:	e8 3a 00 00 00       	call   0x4598b0
459876:	84 c0                	test   %al,%al
459878:	75 11                	jne    0x45988b
45987a:	5e                   	pop    %esi
45987b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45987e:	33 cd                	xor    %ebp,%ecx
459880:	e8 a1 81 17 00       	call   0x5d1a26
459885:	8b e5                	mov    %ebp,%esp
459887:	5d                   	pop    %ebp
459888:	c2 04 00             	ret    $0x4
45988b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45988e:	8b 01                	mov    (%ecx),%eax
459890:	8b 49 04             	mov    0x4(%ecx),%ecx
459893:	89 4e 04             	mov    %ecx,0x4(%esi)
459896:	8b 4d fc             	mov    -0x4(%ebp),%ecx
459899:	89 06                	mov    %eax,(%esi)
45989b:	33 cd                	xor    %ebp,%ecx
45989d:	b0 01                	mov    $0x1,%al
45989f:	5e                   	pop    %esi
4598a0:	e8 81 81 17 00       	call   0x5d1a26
4598a5:	8b e5                	mov    %ebp,%esp
4598a7:	5d                   	pop    %ebp
4598a8:	c2 04 00             	ret    $0x4
4598ab:	cc                   	int3
4598ac:	cc                   	int3
4598ad:	cc                   	int3
4598ae:	cc                   	int3
4598af:	cc                   	int3
4598b0:	55                   	push   %ebp
4598b1:	8b ec                	mov    %esp,%ebp
4598b3:	6a ff                	push   $0xffffffff
4598b5:	68 b6 88 5f 00       	push   $0x5f88b6
4598ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4598c0:	50                   	push   %eax
4598c1:	83 ec 64             	sub    $0x64,%esp
4598c4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4598c9:	33 c5                	xor    %ebp,%eax
4598cb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4598ce:	53                   	push   %ebx
4598cf:	56                   	push   %esi
4598d0:	57                   	push   %edi
4598d1:	50                   	push   %eax
4598d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4598d5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4598db:	8b f1                	mov    %ecx,%esi
4598dd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4598e0:	33 db                	xor    %ebx,%ebx
4598e2:	8b 55 08             	mov    0x8(%ebp),%edx
4598e5:	89 5d 90             	mov    %ebx,-0x70(%ebp)
4598e8:	8b 7e 04             	mov    0x4(%esi),%edi
4598eb:	8b 06                	mov    (%esi),%eax
4598ed:	2b f8                	sub    %eax,%edi
4598ef:	89 55 a4             	mov    %edx,-0x5c(%ebp)
4598f2:	89 4d a0             	mov    %ecx,-0x60(%ebp)
4598f5:	3b f9                	cmp    %ecx,%edi
4598f7:	0f 8d 2d 01 00 00    	jge    0x459a2a
4598fd:	0f 1f 00             	nopl   (%eax)
459900:	57                   	push   %edi
459901:	50                   	push   %eax
459902:	52                   	push   %edx
459903:	e8 c8 94 17 00       	call   0x5d2dd0
459908:	01 7d a4             	add    %edi,-0x5c(%ebp)
45990b:	83 c4 0c             	add    $0xc,%esp
45990e:	29 7d a0             	sub    %edi,-0x60(%ebp)
459911:	01 3e                	add    %edi,(%esi)
459913:	8b 4e 20             	mov    0x20(%esi),%ecx
459916:	85 c9                	test   %ecx,%ecx
459918:	0f 8f 4d 01 00 00    	jg     0x459a6b
45991e:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
459922:	0f 8f 43 01 00 00    	jg     0x459a6b
459928:	8b 46 0c             	mov    0xc(%esi),%eax
45992b:	3b 46 1c             	cmp    0x1c(%esi),%eax
45992e:	0f 84 37 01 00 00    	je     0x459a6b
459934:	8b 7e 08             	mov    0x8(%esi),%edi
459937:	8b 07                	mov    (%edi),%eax
459939:	8d 4d 98             	lea    -0x68(%ebp),%ecx
45993c:	51                   	push   %ecx
45993d:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
459940:	51                   	push   %ecx
459941:	8b 40 04             	mov    0x4(%eax),%eax
459944:	8b cf                	mov    %edi,%ecx
459946:	ff d0                	call   *%eax
459948:	8b 4d 98             	mov    -0x68(%ebp),%ecx
45994b:	84 c0                	test   %al,%al
45994d:	0f 84 07 01 00 00    	je     0x459a5a
459953:	85 c9                	test   %ecx,%ecx
459955:	74 e0                	je     0x459937
459957:	84 c0                	test   %al,%al
459959:	0f 84 fb 00 00 00    	je     0x459a5a
45995f:	8b 45 94             	mov    -0x6c(%ebp),%eax
459962:	89 06                	mov    %eax,(%esi)
459964:	8d 14 08             	lea    (%eax,%ecx,1),%edx
459967:	89 56 04             	mov    %edx,0x4(%esi)
45996a:	85 c9                	test   %ecx,%ecx
45996c:	79 3c                	jns    0x4599aa
45996e:	68 7e 02 00 00       	push   $0x27e
459973:	68 98 64 60 00       	push   $0x606498
459978:	6a 03                	push   $0x3
45997a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45997d:	e8 5e b9 01 00       	call   0x4752e0
459982:	83 cb 02             	or     $0x2,%ebx
459985:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45998c:	68 f4 65 60 00       	push   $0x6065f4
459991:	8b c8                	mov    %eax,%ecx
459993:	89 5d 90             	mov    %ebx,-0x70(%ebp)
459996:	e8 55 bf 01 00       	call   0x4758f0
45999b:	50                   	push   %eax
45999c:	8d 4d 9f             	lea    -0x61(%ebp),%ecx
45999f:	e8 dc bc 01 00       	call   0x475680
4599a4:	8b 56 04             	mov    0x4(%esi),%edx
4599a7:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4599aa:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4599b1:	f6 c3 02             	test   $0x2,%bl
4599b4:	74 11                	je     0x4599c7
4599b6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4599b9:	83 e3 fd             	and    $0xfffffffd,%ebx
4599bc:	e8 4f bc 01 00       	call   0x475610
4599c1:	8b 56 04             	mov    0x4(%esi),%edx
4599c4:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4599c7:	8b 7e 0c             	mov    0xc(%esi),%edi
4599ca:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4599cf:	2b c1                	sub    %ecx,%eax
4599d1:	3b f8                	cmp    %eax,%edi
4599d3:	7f 04                	jg     0x4599d9
4599d5:	03 cf                	add    %edi,%ecx
4599d7:	eb 15                	jmp    0x4599ee
4599d9:	8b 56 04             	mov    0x4(%esi),%edx
4599dc:	8d 87 01 00 00 80    	lea    -0x7fffffff(%edi),%eax
4599e2:	03 c1                	add    %ecx,%eax
4599e4:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
4599e9:	89 46 10             	mov    %eax,0x10(%esi)
4599ec:	2b d0                	sub    %eax,%edx
4599ee:	89 4e 0c             	mov    %ecx,0xc(%esi)
4599f1:	8b 7e 20             	mov    0x20(%esi),%edi
4599f4:	8b 46 0c             	mov    0xc(%esi),%eax
4599f7:	03 fa                	add    %edx,%edi
4599f9:	89 7e 04             	mov    %edi,0x4(%esi)
4599fc:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4599ff:	39 4e 24             	cmp    %ecx,0x24(%esi)
459a02:	0f 4c 4e 24          	cmovl  0x24(%esi),%ecx
459a06:	3b c8                	cmp    %eax,%ecx
459a08:	7d 09                	jge    0x459a13
459a0a:	2b c1                	sub    %ecx,%eax
459a0c:	2b f8                	sub    %eax,%edi
459a0e:	89 7e 04             	mov    %edi,0x4(%esi)
459a11:	eb 02                	jmp    0x459a15
459a13:	33 c0                	xor    %eax,%eax
459a15:	8b 4d a0             	mov    -0x60(%ebp),%ecx
459a18:	8b 55 a4             	mov    -0x5c(%ebp),%edx
459a1b:	89 46 20             	mov    %eax,0x20(%esi)
459a1e:	8b 06                	mov    (%esi),%eax
459a20:	2b f8                	sub    %eax,%edi
459a22:	3b f9                	cmp    %ecx,%edi
459a24:	0f 8c d6 fe ff ff    	jl     0x459900
459a2a:	51                   	push   %ecx
459a2b:	50                   	push   %eax
459a2c:	52                   	push   %edx
459a2d:	e8 9e 93 17 00       	call   0x5d2dd0
459a32:	8b 45 a0             	mov    -0x60(%ebp),%eax
459a35:	83 c4 0c             	add    $0xc,%esp
459a38:	01 06                	add    %eax,(%esi)
459a3a:	b0 01                	mov    $0x1,%al
459a3c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459a3f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459a46:	59                   	pop    %ecx
459a47:	5f                   	pop    %edi
459a48:	5e                   	pop    %esi
459a49:	5b                   	pop    %ebx
459a4a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
459a4d:	33 cd                	xor    %ebp,%ecx
459a4f:	e8 d2 7f 17 00       	call   0x5d1a26
459a54:	8b e5                	mov    %ebp,%esp
459a56:	5d                   	pop    %ebp
459a57:	c2 08 00             	ret    $0x8
459a5a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
459a60:	32 c0                	xor    %al,%al
459a62:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
459a69:	eb d1                	jmp    0x459a3c
459a6b:	8b 46 0c             	mov    0xc(%esi),%eax
459a6e:	2b c1                	sub    %ecx,%eax
459a70:	8b 4e 24             	mov    0x24(%esi),%ecx
459a73:	3b c1                	cmp    %ecx,%eax
459a75:	7c 53                	jl     0x459aca
459a77:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
459a7a:	74 4e                	je     0x459aca
459a7c:	68 c1 00 00 00       	push   $0xc1
459a81:	68 98 64 60 00       	push   $0x606498
459a86:	6a 02                	push   $0x2
459a88:	8d 4d a8             	lea    -0x58(%ebp),%ecx
459a8b:	e8 50 b8 01 00       	call   0x4752e0
459a90:	68 48 65 60 00       	push   $0x606548
459a95:	ff 76 24             	push   0x24(%esi)