582772:	89 4d ec             	mov    %ecx,-0x14(%ebp)
582775:	8b 5b 10             	mov    0x10(%ebx),%ebx
582778:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
58277e:	0f 87 82 00 00 00    	ja     0x582806
582784:	85 db                	test   %ebx,%ebx
582786:	74 5e                	je     0x5827e6
582788:	53                   	push   %ebx
582789:	8d 4e 40             	lea    0x40(%esi),%ecx
58278c:	e8 bf 6c eb ff       	call   0x439450
582791:	53                   	push   %ebx
582792:	ff 75 ec             	push   -0x14(%ebp)
582795:	89 45 f0             	mov    %eax,-0x10(%ebp)
582798:	50                   	push   %eax
582799:	e8 62 07 06 00       	call   0x5e2f00
58279e:	8b 46 0c             	mov    0xc(%esi),%eax
5827a1:	83 c4 0c             	add    $0xc,%esp
5827a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5827a7:	03 cb                	add    %ebx,%ecx
5827a9:	89 4e 38             	mov    %ecx,0x38(%esi)
5827ac:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5827af:	89 08                	mov    %ecx,(%eax)
5827b1:	8b 46 1c             	mov    0x1c(%esi),%eax
5827b4:	89 08                	mov    %ecx,(%eax)
5827b6:	8b 46 2c             	mov    0x2c(%esi),%eax
5827b9:	89 18                	mov    %ebx,(%eax)
5827bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
5827be:	a8 02                	test   $0x2,%al
5827c0:	75 1f                	jne    0x5827e1
5827c2:	8b 56 38             	mov    0x38(%esi),%edx
5827c5:	a8 18                	test   $0x18,%al
5827c7:	8b 46 10             	mov    0x10(%esi),%eax
5827ca:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5827cd:	0f 45 ca             	cmovne %edx,%ecx
5827d0:	2b d1                	sub    %ecx,%edx
5827d2:	89 18                	mov    %ebx,(%eax)
5827d4:	8b 46 20             	mov    0x20(%esi),%eax
5827d7:	89 08                	mov    %ecx,(%eax)
5827d9:	8b 46 30             	mov    0x30(%esi),%eax
5827dc:	89 10                	mov    %edx,(%eax)
5827de:	8b 45 e8             	mov    -0x18(%ebp),%eax
5827e1:	83 c8 01             	or     $0x1,%eax
5827e4:	eb 07                	jmp    0x5827ed
5827e6:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
5827ed:	89 46 3c             	mov    %eax,0x3c(%esi)
5827f0:	8b c7                	mov    %edi,%eax
5827f2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5827f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5827fc:	59                   	pop    %ecx
5827fd:	5f                   	pop    %edi
5827fe:	5e                   	pop    %esi
5827ff:	5b                   	pop    %ebx
582800:	8b e5                	mov    %ebp,%esp
582802:	5d                   	pop    %ebp
582803:	c2 0c 00             	ret    $0xc
582806:	e8 42 bb 04 00       	call   0x5ce34d
58280b:	cc                   	int3
58280c:	cc                   	int3
58280d:	cc                   	int3
58280e:	cc                   	int3
58280f:	cc                   	int3
582810:	55                   	push   %ebp
582811:	8b ec                	mov    %esp,%ebp
582813:	6a ff                	push   $0xffffffff
582815:	68 20 02 65 00       	push   $0x650220
58281a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
582820:	50                   	push   %eax
582821:	83 ec 08             	sub    $0x8,%esp
582824:	53                   	push   %ebx
582825:	56                   	push   %esi
582826:	57                   	push   %edi
582827:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58282c:	33 c5                	xor    %ebp,%eax
58282e:	50                   	push   %eax
58282f:	8d 45 f4             	lea    -0xc(%ebp),%eax
582832:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582838:	8b c1                	mov    %ecx,%eax
58283a:	89 45 f0             	mov    %eax,-0x10(%ebp)
58283d:	6a 08                	push   $0x8
58283f:	c7 00 f0 c4 68 00    	movl   $0x68c4f0,(%eax)
582845:	e8 f8 e7 05 00       	call   0x5e1042
58284a:	8b f0                	mov    %eax,%esi
58284c:	83 c4 04             	add    $0x4,%esp
58284f:	85 f6                	test   %esi,%esi
582851:	74 16                	je     0x582869
582853:	6a 01                	push   $0x1
582855:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
58285c:	e8 13 bf 04 00       	call   0x5ce774
582861:	83 c4 04             	add    $0x4,%esp
582864:	89 46 04             	mov    %eax,0x4(%esi)
582867:	eb 02                	jmp    0x58286b
582869:	33 f6                	xor    %esi,%esi
58286b:	8b 45 f0             	mov    -0x10(%ebp),%eax
58286e:	8d 78 14             	lea    0x14(%eax),%edi
582871:	8d 48 18             	lea    0x18(%eax),%ecx
582874:	8d 50 24             	lea    0x24(%eax),%edx
582877:	89 70 34             	mov    %esi,0x34(%eax)
58287a:	8d 58 04             	lea    0x4(%eax),%ebx
58287d:	89 58 0c             	mov    %ebx,0xc(%eax)
582880:	8d 70 08             	lea    0x8(%eax),%esi
582883:	89 70 10             	mov    %esi,0x10(%eax)
582886:	89 78 1c             	mov    %edi,0x1c(%eax)
582889:	89 48 20             	mov    %ecx,0x20(%eax)
58288c:	89 50 2c             	mov    %edx,0x2c(%eax)
58288f:	83 c0 28             	add    $0x28,%eax
582892:	89 5d ec             	mov    %ebx,-0x14(%ebp)
582895:	8b 5d f0             	mov    -0x10(%ebp),%ebx
582898:	89 43 30             	mov    %eax,0x30(%ebx)
58289b:	8b 5d ec             	mov    -0x14(%ebp),%ebx
58289e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5828a4:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5828aa:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5828b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
5828b3:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5828b9:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5828bf:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
5828c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5828c8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5828cf:	59                   	pop    %ecx
5828d0:	5f                   	pop    %edi
5828d1:	5e                   	pop    %esi
5828d2:	5b                   	pop    %ebx
5828d3:	8b e5                	mov    %ebp,%esp
5828d5:	5d                   	pop    %ebp
5828d6:	c3                   	ret
5828d7:	cc                   	int3
5828d8:	cc                   	int3
5828d9:	cc                   	int3
5828da:	cc                   	int3
5828db:	cc                   	int3
5828dc:	cc                   	int3
5828dd:	cc                   	int3
5828de:	cc                   	int3
5828df:	cc                   	int3
5828e0:	55                   	push   %ebp
5828e1:	8b ec                	mov    %esp,%ebp
5828e3:	6a ff                	push   $0xffffffff
5828e5:	68 08 d0 65 00       	push   $0x65d008
5828ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5828f0:	50                   	push   %eax
5828f1:	51                   	push   %ecx
5828f2:	56                   	push   %esi
5828f3:	57                   	push   %edi
5828f4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5828f9:	33 c5                	xor    %ebp,%eax
5828fb:	50                   	push   %eax
5828fc:	8d 45 f4             	lea    -0xc(%ebp),%eax
5828ff:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582905:	8b f9                	mov    %ecx,%edi
582907:	89 7d f0             	mov    %edi,-0x10(%ebp)
58290a:	6a 08                	push   $0x8
58290c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
582913:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
582919:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
582920:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
582927:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
58292e:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
582935:	e8 08 e7 05 00       	call   0x5e1042
58293a:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
582941:	89 07                	mov    %eax,(%edi)
582943:	89 38                	mov    %edi,(%eax)
582945:	8d 77 14             	lea    0x14(%edi),%esi
582948:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
58294f:	6a 08                	push   $0x8
582951:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
582957:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
58295e:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
582965:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
58296c:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
582973:	e8 ca e6 05 00       	call   0x5e1042
582978:	83 c4 08             	add    $0x8,%esp
58297b:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
582982:	89 06                	mov    %eax,(%esi)
582984:	89 30                	mov    %esi,(%eax)
582986:	8b 45 08             	mov    0x8(%ebp),%eax
582989:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
582990:	c7 47 3c 0f 00 00 00 	movl   $0xf,0x3c(%edi)
582997:	c6 47 28 00          	movb   $0x0,0x28(%edi)
58299b:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
5829a2:	c7 47 44 00 00 00 00 	movl   $0x0,0x44(%edi)
5829a9:	c7 47 48 00 00 00 00 	movl   $0x0,0x48(%edi)
5829b0:	c7 47 4c 00 00 00 00 	movl   $0x0,0x4c(%edi)
5829b7:	c7 47 50 00 00 00 00 	movl   $0x0,0x50(%edi)
5829be:	c7 47 64 00 00 00 00 	movl   $0x0,0x64(%edi)
5829c5:	c7 47 68 0f 00 00 00 	movl   $0xf,0x68(%edi)
5829cc:	c6 47 54 00          	movb   $0x0,0x54(%edi)
5829d0:	8b 00                	mov    (%eax),%eax
5829d2:	89 47 6c             	mov    %eax,0x6c(%edi)
5829d5:	8b c7                	mov    %edi,%eax
5829d7:	c6 47 70 00          	movb   $0x0,0x70(%edi)
5829db:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5829de:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5829e5:	59                   	pop    %ecx
5829e6:	5f                   	pop    %edi
5829e7:	5e                   	pop    %esi
5829e8:	8b e5                	mov    %ebp,%esp
5829ea:	5d                   	pop    %ebp
5829eb:	c2 04 00             	ret    $0x4
5829ee:	cc                   	int3
5829ef:	cc                   	int3
5829f0:	56                   	push   %esi
5829f1:	8b f1                	mov    %ecx,%esi
5829f3:	8b 4e 10             	mov    0x10(%esi),%ecx
5829f6:	85 c9                	test   %ecx,%ecx
5829f8:	74 19                	je     0x582a13
5829fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
582a00:	8d 41 ff             	lea    -0x1(%ecx),%eax
582a03:	89 46 10             	mov    %eax,0x10(%esi)
582a06:	8b c8                	mov    %eax,%ecx
582a08:	85 c0                	test   %eax,%eax
582a0a:	75 03                	jne    0x582a0f
582a0c:	89 46 0c             	mov    %eax,0xc(%esi)
582a0f:	85 c9                	test   %ecx,%ecx
582a11:	75 ed                	jne    0x582a00
582a13:	57                   	push   %edi
582a14:	8b 7e 08             	mov    0x8(%esi),%edi
582a17:	85 ff                	test   %edi,%edi
582a19:	74 1f                	je     0x582a3a
582a1b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
582a20:	8b 46 04             	mov    0x4(%esi),%eax
582a23:	4f                   	dec    %edi
582a24:	8b 04 b8             	mov    (%eax,%edi,4),%eax
582a27:	85 c0                	test   %eax,%eax
582a29:	74 0b                	je     0x582a36
582a2b:	6a 10                	push   $0x10
582a2d:	50                   	push   %eax
582a2e:	e8 3f e6 05 00       	call   0x5e1072
582a33:	83 c4 08             	add    $0x8,%esp
582a36:	85 ff                	test   %edi,%edi
582a38:	75 e6                	jne    0x582a20
582a3a:	8b 46 04             	mov    0x4(%esi),%eax
582a3d:	5f                   	pop    %edi
582a3e:	85 c0                	test   %eax,%eax
582a40:	74 2a                	je     0x582a6c
582a42:	8b 4e 08             	mov    0x8(%esi),%ecx
582a45:	c1 e1 02             	shl    $0x2,%ecx
582a48:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582a4e:	72 12                	jb     0x582a62
582a50:	8b 50 fc             	mov    -0x4(%eax),%edx
582a53:	83 c1 23             	add    $0x23,%ecx
582a56:	2b c2                	sub    %edx,%eax
582a58:	83 c0 fc             	add    $0xfffffffc,%eax
582a5b:	83 f8 1f             	cmp    $0x1f,%eax
582a5e:	77 2f                	ja     0x582a8f
582a60:	8b c2                	mov    %edx,%eax
582a62:	51                   	push   %ecx
582a63:	50                   	push   %eax
582a64:	e8 09 e6 05 00       	call   0x5e1072
582a69:	83 c4 08             	add    $0x8,%esp
582a6c:	8b 06                	mov    (%esi),%eax
582a6e:	6a 08                	push   $0x8
582a70:	50                   	push   %eax
582a71:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
582a78:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
582a7f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
582a85:	e8 e8 e5 05 00       	call   0x5e1072
582a8a:	83 c4 08             	add    $0x8,%esp
582a8d:	5e                   	pop    %esi
582a8e:	c3                   	ret
582a8f:	e8 9b a4 06 00       	call   0x5ecf2f
582a94:	cc                   	int3
582a95:	cc                   	int3
582a96:	cc                   	int3
582a97:	cc                   	int3
582a98:	cc                   	int3
582a99:	cc                   	int3
582a9a:	cc                   	int3
582a9b:	cc                   	int3
582a9c:	cc                   	int3
582a9d:	cc                   	int3
582a9e:	cc                   	int3
582a9f:	cc                   	int3
582aa0:	e9 4b ff ff ff       	jmp    0x5829f0
582aa5:	cc                   	int3
582aa6:	cc                   	int3
582aa7:	cc                   	int3
582aa8:	cc                   	int3
582aa9:	cc                   	int3
582aaa:	cc                   	int3
582aab:	cc                   	int3
582aac:	cc                   	int3
582aad:	cc                   	int3
582aae:	cc                   	int3
582aaf:	cc                   	int3
582ab0:	56                   	push   %esi
582ab1:	8b f1                	mov    %ecx,%esi
582ab3:	8b 4e 20             	mov    0x20(%esi),%ecx
582ab6:	83 f9 10             	cmp    $0x10,%ecx
582ab9:	72 28                	jb     0x582ae3
582abb:	8b 46 0c             	mov    0xc(%esi),%eax
582abe:	41                   	inc    %ecx
582abf:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582ac5:	72 12                	jb     0x582ad9
582ac7:	8b 50 fc             	mov    -0x4(%eax),%edx
582aca:	83 c1 23             	add    $0x23,%ecx
582acd:	2b c2                	sub    %edx,%eax
582acf:	83 c0 fc             	add    $0xfffffffc,%eax
582ad2:	83 f8 1f             	cmp    $0x1f,%eax
582ad5:	77 20                	ja     0x582af7
582ad7:	8b c2                	mov    %edx,%eax
582ad9:	51                   	push   %ecx
582ada:	50                   	push   %eax
582adb:	e8 92 e5 05 00       	call   0x5e1072
582ae0:	83 c4 08             	add    $0x8,%esp
582ae3:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
582aea:	c7 46 20 0f 00 00 00 	movl   $0xf,0x20(%esi)
582af1:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
582af5:	5e                   	pop    %esi
582af6:	c3                   	ret
582af7:	e8 33 a4 06 00       	call   0x5ecf2f
582afc:	cc                   	int3
582afd:	cc                   	int3
582afe:	cc                   	int3
582aff:	cc                   	int3
582b00:	55                   	push   %ebp
582b01:	8b ec                	mov    %esp,%ebp
582b03:	83 ec 14             	sub    $0x14,%esp
582b06:	53                   	push   %ebx
582b07:	56                   	push   %esi
582b08:	8b f1                	mov    %ecx,%esi
582b0a:	b8 01 00 00 00       	mov    $0x1,%eax
582b0f:	57                   	push   %edi
582b10:	8b 7d 08             	mov    0x8(%ebp),%edi
582b13:	89 75 f4             	mov    %esi,-0xc(%ebp)
582b16:	8b 56 08             	mov    0x8(%esi),%edx
582b19:	85 d2                	test   %edx,%edx
582b1b:	0f 45 c2             	cmovne %edx,%eax
582b1e:	66 90                	xchg   %ax,%ax
582b20:	8b d8                	mov    %eax,%ebx
582b22:	2b da                	sub    %edx,%ebx
582b24:	3b df                	cmp    %edi,%ebx
582b26:	72 05                	jb     0x582b2d
582b28:	83 f8 08             	cmp    $0x8,%eax
582b2b:	73 13                	jae    0x582b40
582b2d:	b9 ff ff ff 0f       	mov    $0xfffffff,%ecx
582b32:	2b c8                	sub    %eax,%ecx
582b34:	3b c8                	cmp    %eax,%ecx
582b36:	0f 82 43 01 00 00    	jb     0x582c7f
582b3c:	03 c0                	add    %eax,%eax
582b3e:	eb e0                	jmp    0x582b20
582b40:	8b 7e 0c             	mov    0xc(%esi),%edi
582b43:	c1 ef 02             	shr    $0x2,%edi
582b46:	89 7d f0             	mov    %edi,-0x10(%ebp)
582b49:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
582b4e:	0f 87 37 01 00 00    	ja     0x582c8b
582b54:	c1 e0 02             	shl    $0x2,%eax
582b57:	3d 00 10 00 00       	cmp    $0x1000,%eax
582b5c:	72 27                	jb     0x582b85
582b5e:	8d 48 23             	lea    0x23(%eax),%ecx
582b61:	3b c8                	cmp    %eax,%ecx
582b63:	0f 86 22 01 00 00    	jbe    0x582c8b