495970:	8b 7b 20             	mov    0x20(%ebx),%edi
495973:	85 ff                	test   %edi,%edi
495975:	75 30                	jne    0x4959a7
495977:	8d 45 d4             	lea    -0x2c(%ebp),%eax
49597a:	89 7d d4             	mov    %edi,-0x2c(%ebp)
49597d:	50                   	push   %eax
49597e:	57                   	push   %edi
49597f:	e8 cc 36 01 00       	call   0x4a9050
495984:	8b 7d d4             	mov    -0x2c(%ebp),%edi
495987:	33 c9                	xor    %ecx,%ecx
495989:	83 c4 08             	add    $0x8,%esp
49598c:	85 c0                	test   %eax,%eax
49598e:	0f 45 f9             	cmovne %ecx,%edi
495991:	89 7d d4             	mov    %edi,-0x2c(%ebp)
495994:	89 7b 20             	mov    %edi,0x20(%ebx)
495997:	eb 0b                	jmp    0x4959a4
495999:	6a 00                	push   $0x0
49599b:	8b cb                	mov    %ebx,%ecx
49599d:	e8 ae fc ff ff       	call   0x495650
4959a2:	8b f8                	mov    %eax,%edi
4959a4:	8a 45 0c             	mov    0xc(%ebp),%al
4959a7:	3c 01                	cmp    $0x1,%al
4959a9:	75 3d                	jne    0x4959e8
4959ab:	8d 4b 5c             	lea    0x5c(%ebx),%ecx
4959ae:	e8 5d 57 00 00       	call   0x49b110
4959b3:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4959b7:	72 02                	jb     0x4959bb
4959b9:	8b 36                	mov    (%esi),%esi
4959bb:	56                   	push   %esi
4959bc:	57                   	push   %edi
4959bd:	e8 fe 36 01 00       	call   0x4a90c0
4959c2:	8b f0                	mov    %eax,%esi
4959c4:	83 c4 08             	add    $0x8,%esp
4959c7:	85 f6                	test   %esi,%esi
4959c9:	75 0b                	jne    0x4959d6
4959cb:	57                   	push   %edi
4959cc:	e8 5f 36 01 00       	call   0x4a9030
4959d1:	83 c4 04             	add    $0x4,%esp
4959d4:	8b f0                	mov    %eax,%esi
4959d6:	8d 4b 5c             	lea    0x5c(%ebx),%ecx
4959d9:	e8 52 57 00 00       	call   0x49b130
4959de:	56                   	push   %esi
4959df:	8b cb                	mov    %ebx,%ecx
4959e1:	e8 aa f5 ff ff       	call   0x494f90
4959e6:	eb 2b                	jmp    0x495a13
4959e8:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4959ec:	72 02                	jb     0x4959f0
4959ee:	8b 36                	mov    (%esi),%esi
4959f0:	56                   	push   %esi
4959f1:	57                   	push   %edi
4959f2:	e8 b9 33 01 00       	call   0x4a8db0
4959f7:	83 c4 08             	add    $0x8,%esp
4959fa:	85 c0                	test   %eax,%eax
4959fc:	74 0a                	je     0x495a08
4959fe:	50                   	push   %eax
4959ff:	8b cb                	mov    %ebx,%ecx
495a01:	e8 ea f4 ff ff       	call   0x494ef0
495a06:	eb 0b                	jmp    0x495a13
495a08:	57                   	push   %edi
495a09:	e8 a2 31 01 00       	call   0x4a8bb0
495a0e:	83 c4 04             	add    $0x4,%esp
495a11:	33 c0                	xor    %eax,%eax
495a13:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495a16:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495a1d:	59                   	pop    %ecx
495a1e:	5f                   	pop    %edi
495a1f:	5e                   	pop    %esi
495a20:	5b                   	pop    %ebx
495a21:	8b 4d f0             	mov    -0x10(%ebp),%ecx
495a24:	33 cd                	xor    %ebp,%ecx
495a26:	e8 af ba 14 00       	call   0x5e14da
495a2b:	8b e5                	mov    %ebp,%esp
495a2d:	5d                   	pop    %ebp
495a2e:	c2 08 00             	ret    $0x8
495a31:	cc                   	int3
495a32:	cc                   	int3
495a33:	cc                   	int3
495a34:	cc                   	int3
495a35:	cc                   	int3
495a36:	cc                   	int3
495a37:	cc                   	int3
495a38:	cc                   	int3
495a39:	cc                   	int3
495a3a:	cc                   	int3
495a3b:	cc                   	int3
495a3c:	cc                   	int3
495a3d:	cc                   	int3
495a3e:	cc                   	int3
495a3f:	cc                   	int3
495a40:	55                   	push   %ebp
495a41:	8b ec                	mov    %esp,%ebp
495a43:	83 ec 0c             	sub    $0xc,%esp
495a46:	8b 45 10             	mov    0x10(%ebp),%eax
495a49:	53                   	push   %ebx
495a4a:	8b d9                	mov    %ecx,%ebx
495a4c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
495a4f:	56                   	push   %esi
495a50:	57                   	push   %edi
495a51:	84 c0                	test   %al,%al
495a53:	74 29                	je     0x495a7e
495a55:	8b 73 20             	mov    0x20(%ebx),%esi
495a58:	85 f6                	test   %esi,%esi
495a5a:	75 2e                	jne    0x495a8a
495a5c:	8d 45 fc             	lea    -0x4(%ebp),%eax
495a5f:	89 75 fc             	mov    %esi,-0x4(%ebp)
495a62:	50                   	push   %eax
495a63:	56                   	push   %esi
495a64:	e8 e7 35 01 00       	call   0x4a9050
495a69:	8b 75 fc             	mov    -0x4(%ebp),%esi
495a6c:	33 c9                	xor    %ecx,%ecx
495a6e:	83 c4 08             	add    $0x8,%esp
495a71:	85 c0                	test   %eax,%eax
495a73:	0f 45 f1             	cmovne %ecx,%esi
495a76:	89 75 fc             	mov    %esi,-0x4(%ebp)
495a79:	89 73 20             	mov    %esi,0x20(%ebx)
495a7c:	eb 09                	jmp    0x495a87
495a7e:	6a 00                	push   $0x0
495a80:	e8 cb fb ff ff       	call   0x495650
495a85:	8b f0                	mov    %eax,%esi
495a87:	8b 45 10             	mov    0x10(%ebp),%eax
495a8a:	3c 01                	cmp    $0x1,%al
495a8c:	75 61                	jne    0x495aef
495a8e:	8d 43 5c             	lea    0x5c(%ebx),%eax
495a91:	8b c8                	mov    %eax,%ecx
495a93:	89 45 f4             	mov    %eax,-0xc(%ebp)
495a96:	e8 75 56 00 00       	call   0x49b110
495a9b:	8b 5d 08             	mov    0x8(%ebp),%ebx
495a9e:	8b c3                	mov    %ebx,%eax
495aa0:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
495aa4:	72 02                	jb     0x495aa8
495aa6:	8b 03                	mov    (%ebx),%eax
495aa8:	8b 7d 0c             	mov    0xc(%ebp),%edi
495aab:	8b cf                	mov    %edi,%ecx
495aad:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
495ab1:	72 02                	jb     0x495ab5
495ab3:	8b 0f                	mov    (%edi),%ecx
495ab5:	50                   	push   %eax
495ab6:	51                   	push   %ecx
495ab7:	56                   	push   %esi
495ab8:	e8 d3 35 01 00       	call   0x4a9090
495abd:	8b c8                	mov    %eax,%ecx
495abf:	89 45 0c             	mov    %eax,0xc(%ebp)
495ac2:	83 c4 0c             	add    $0xc,%esp
495ac5:	83 e9 00             	sub    $0x0,%ecx
495ac8:	74 07                	je     0x495ad1
495aca:	83 e9 01             	sub    $0x1,%ecx
495acd:	8b f0                	mov    %eax,%esi
495acf:	eb 0b                	jmp    0x495adc
495ad1:	56                   	push   %esi
495ad2:	e8 59 35 01 00       	call   0x4a9030
495ad7:	83 c4 04             	add    $0x4,%esp
495ada:	8b f0                	mov    %eax,%esi
495adc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495adf:	e8 4c 56 00 00       	call   0x49b130
495ae4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
495ae7:	56                   	push   %esi
495ae8:	e8 a3 f4 ff ff       	call   0x494f90
495aed:	eb 44                	jmp    0x495b33
495aef:	8b 7d 0c             	mov    0xc(%ebp),%edi
495af2:	8b c7                	mov    %edi,%eax
495af4:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
495af8:	72 02                	jb     0x495afc
495afa:	8b 07                	mov    (%edi),%eax
495afc:	8b 5d 08             	mov    0x8(%ebp),%ebx
495aff:	8b cb                	mov    %ebx,%ecx
495b01:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
495b05:	72 02                	jb     0x495b09
495b07:	8b 0b                	mov    (%ebx),%ecx
495b09:	50                   	push   %eax
495b0a:	51                   	push   %ecx
495b0b:	56                   	push   %esi
495b0c:	e8 2f 33 01 00       	call   0x4a8e40
495b11:	8b c8                	mov    %eax,%ecx
495b13:	89 45 0c             	mov    %eax,0xc(%ebp)
495b16:	83 c4 0c             	add    $0xc,%esp
495b19:	83 e9 00             	sub    $0x0,%ecx
495b1c:	75 0c                	jne    0x495b2a
495b1e:	56                   	push   %esi
495b1f:	e8 8c 30 01 00       	call   0x4a8bb0
495b24:	8b 45 0c             	mov    0xc(%ebp),%eax
495b27:	83 c4 04             	add    $0x4,%esp
495b2a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
495b2d:	50                   	push   %eax
495b2e:	e8 bd f3 ff ff       	call   0x494ef0
495b33:	85 c0                	test   %eax,%eax
495b35:	74 10                	je     0x495b47
495b37:	8b 0d 7c e1 72 00    	mov    0x72e17c,%ecx
495b3d:	ff 75 10             	push   0x10(%ebp)
495b40:	57                   	push   %edi
495b41:	8b 01                	mov    (%ecx),%eax
495b43:	53                   	push   %ebx
495b44:	ff 50 28             	call   *0x28(%eax)
495b47:	5f                   	pop    %edi
495b48:	5e                   	pop    %esi
495b49:	5b                   	pop    %ebx
495b4a:	8b e5                	mov    %ebp,%esp
495b4c:	5d                   	pop    %ebp
495b4d:	c2 0c 00             	ret    $0xc
495b50:	55                   	push   %ebp
495b51:	8b ec                	mov    %esp,%ebp
495b53:	6a ff                	push   $0xffffffff
495b55:	68 28 c4 64 00       	push   $0x64c428
495b5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495b60:	50                   	push   %eax
495b61:	83 ec 1c             	sub    $0x1c,%esp
495b64:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495b69:	33 c5                	xor    %ebp,%eax
495b6b:	89 45 f0             	mov    %eax,-0x10(%ebp)
495b6e:	56                   	push   %esi
495b6f:	57                   	push   %edi
495b70:	50                   	push   %eax
495b71:	8d 45 f4             	lea    -0xc(%ebp),%eax
495b74:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
495b7a:	8b f9                	mov    %ecx,%edi
495b7c:	8b 45 10             	mov    0x10(%ebp),%eax
495b7f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
495b82:	8b 75 08             	mov    0x8(%ebp),%esi
495b85:	50                   	push   %eax
495b86:	51                   	push   %ecx
495b87:	8d 45 d8             	lea    -0x28(%ebp),%eax
495b8a:	8b cf                	mov    %edi,%ecx
495b8c:	50                   	push   %eax
495b8d:	e8 be e3 ff ff       	call   0x493f50
495b92:	ff 75 14             	push   0x14(%ebp)
495b95:	8b cf                	mov    %edi,%ecx
495b97:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
495b9e:	50                   	push   %eax
495b9f:	56                   	push   %esi
495ba0:	e8 9b fe ff ff       	call   0x495a40
495ba5:	8b 55 ec             	mov    -0x14(%ebp),%edx
495ba8:	8b f0                	mov    %eax,%esi
495baa:	83 fa 10             	cmp    $0x10,%edx
495bad:	72 28                	jb     0x495bd7
495baf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
495bb2:	42                   	inc    %edx
495bb3:	8b c1                	mov    %ecx,%eax
495bb5:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
495bbb:	72 10                	jb     0x495bcd
495bbd:	8b 49 fc             	mov    -0x4(%ecx),%ecx
495bc0:	83 c2 23             	add    $0x23,%edx
495bc3:	2b c1                	sub    %ecx,%eax
495bc5:	83 c0 fc             	add    $0xfffffffc,%eax
495bc8:	83 f8 1f             	cmp    $0x1f,%eax
495bcb:	77 29                	ja     0x495bf6
495bcd:	52                   	push   %edx
495bce:	51                   	push   %ecx
495bcf:	e8 9e b4 14 00       	call   0x5e1072
495bd4:	83 c4 08             	add    $0x8,%esp
495bd7:	8b c6                	mov    %esi,%eax
495bd9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495bdc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495be3:	59                   	pop    %ecx
495be4:	5f                   	pop    %edi
495be5:	5e                   	pop    %esi
495be6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
495be9:	33 cd                	xor    %ebp,%ecx
495beb:	e8 ea b8 14 00       	call   0x5e14da
495bf0:	8b e5                	mov    %ebp,%esp
495bf2:	5d                   	pop    %ebp
495bf3:	c2 10 00             	ret    $0x10
495bf6:	e8 34 73 15 00       	call   0x5ecf2f
495bfb:	cc                   	int3
495bfc:	cc                   	int3
495bfd:	cc                   	int3
495bfe:	cc                   	int3
495bff:	cc                   	int3
495c00:	55                   	push   %ebp
495c01:	8b ec                	mov    %esp,%ebp
495c03:	6a ff                	push   $0xffffffff
495c05:	68 28 c4 64 00       	push   $0x64c428
495c0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495c10:	50                   	push   %eax
495c11:	83 ec 1c             	sub    $0x1c,%esp
495c14:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495c19:	33 c5                	xor    %ebp,%eax
495c1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
495c1e:	56                   	push   %esi
495c1f:	57                   	push   %edi
495c20:	50                   	push   %eax
495c21:	8d 45 f4             	lea    -0xc(%ebp),%eax
495c24:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
495c2a:	8b f9                	mov    %ecx,%edi
495c2c:	8b 45 0c             	mov    0xc(%ebp),%eax
495c2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
495c32:	8b 75 10             	mov    0x10(%ebp),%esi
495c35:	50                   	push   %eax
495c36:	51                   	push   %ecx
495c37:	8d 45 d8             	lea    -0x28(%ebp),%eax
495c3a:	8b cf                	mov    %edi,%ecx
495c3c:	50                   	push   %eax
495c3d:	e8 0e e3 ff ff       	call   0x493f50
495c42:	ff 75 14             	push   0x14(%ebp)
495c45:	8b cf                	mov    %edi,%ecx
495c47:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
495c4e:	56                   	push   %esi
495c4f:	50                   	push   %eax
495c50:	e8 eb fd ff ff       	call   0x495a40
495c55:	8b 55 ec             	mov    -0x14(%ebp),%edx
495c58:	8b f0                	mov    %eax,%esi
495c5a:	83 fa 10             	cmp    $0x10,%edx
495c5d:	72 28                	jb     0x495c87
495c5f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
495c62:	42                   	inc    %edx
495c63:	8b c1                	mov    %ecx,%eax
495c65:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
495c6b:	72 10                	jb     0x495c7d
495c6d:	8b 49 fc             	mov    -0x4(%ecx),%ecx
495c70:	83 c2 23             	add    $0x23,%edx
495c73:	2b c1                	sub    %ecx,%eax
495c75:	83 c0 fc             	add    $0xfffffffc,%eax
495c78:	83 f8 1f             	cmp    $0x1f,%eax
495c7b:	77 29                	ja     0x495ca6
495c7d:	52                   	push   %edx
495c7e:	51                   	push   %ecx
495c7f:	e8 ee b3 14 00       	call   0x5e1072
495c84:	83 c4 08             	add    $0x8,%esp
495c87:	8b c6                	mov    %esi,%eax
495c89:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495c8c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495c93:	59                   	pop    %ecx
495c94:	5f                   	pop    %edi
495c95:	5e                   	pop    %esi
495c96:	8b 4d f0             	mov    -0x10(%ebp),%ecx
495c99:	33 cd                	xor    %ebp,%ecx
495c9b:	e8 3a b8 14 00       	call   0x5e14da
495ca0:	8b e5                	mov    %ebp,%esp
495ca2:	5d                   	pop    %ebp
495ca3:	c2 10 00             	ret    $0x10
495ca6:	e8 84 72 15 00       	call   0x5ecf2f
495cab:	cc                   	int3
495cac:	cc                   	int3
495cad:	cc                   	int3
495cae:	cc                   	int3
495caf:	cc                   	int3
495cb0:	55                   	push   %ebp
495cb1:	8b ec                	mov    %esp,%ebp
495cb3:	6a ff                	push   $0xffffffff
495cb5:	68 e0 d5 64 00       	push   $0x64d5e0
495cba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495cc0:	50                   	push   %eax
495cc1:	83 ec 38             	sub    $0x38,%esp
495cc4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495cc9:	33 c5                	xor    %ebp,%eax
495ccb:	89 45 f0             	mov    %eax,-0x10(%ebp)
495cce:	53                   	push   %ebx
495ccf:	56                   	push   %esi
495cd0:	57                   	push   %edi
495cd1:	50                   	push   %eax
495cd2:	8d 45 f4             	lea    -0xc(%ebp),%eax
495cd5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0