4958f1:	31 45 f8             	xor    %eax,-0x8(%ebp)
4958f4:	33 c5                	xor    %ebp,%eax
4958f6:	50                   	push   %eax
4958f7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4958fa:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
495900:	89 65 e8             	mov    %esp,-0x18(%ebp)
495903:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49590a:	68 00 00 40 00       	push   $0x400000
49590f:	e8 7c 00 00 00       	call   0x495990
495914:	83 c4 04             	add    $0x4,%esp
495917:	85 c0                	test   %eax,%eax
495919:	74 54                	je     0x49596f
49591b:	8b 45 08             	mov    0x8(%ebp),%eax
49591e:	2d 00 00 40 00       	sub    $0x400000,%eax
495923:	50                   	push   %eax
495924:	68 00 00 40 00       	push   $0x400000
495929:	e8 52 ff ff ff       	call   0x495880
49592e:	83 c4 08             	add    $0x8,%esp
495931:	85 c0                	test   %eax,%eax
495933:	74 3a                	je     0x49596f
495935:	8b 40 24             	mov    0x24(%eax),%eax
495938:	c1 e8 1f             	shr    $0x1f,%eax
49593b:	f7 d0                	not    %eax
49593d:	83 e0 01             	and    $0x1,%eax
495940:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
495947:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49594a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495951:	59                   	pop    %ecx
495952:	5f                   	pop    %edi
495953:	5e                   	pop    %esi
495954:	5b                   	pop    %ebx
495955:	8b e5                	mov    %ebp,%esp
495957:	5d                   	pop    %ebp
495958:	c3                   	ret
495959:	8b 45 ec             	mov    -0x14(%ebp),%eax
49595c:	8b 00                	mov    (%eax),%eax
49595e:	33 c9                	xor    %ecx,%ecx
495960:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
495966:	0f 94 c1             	sete   %cl
495969:	8b c1                	mov    %ecx,%eax
49596b:	c3                   	ret
49596c:	8b 65 e8             	mov    -0x18(%ebp),%esp
49596f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
495976:	33 c0                	xor    %eax,%eax
495978:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49597b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495982:	59                   	pop    %ecx
495983:	5f                   	pop    %edi
495984:	5e                   	pop    %esi
495985:	5b                   	pop    %ebx
495986:	8b e5                	mov    %ebp,%esp
495988:	5d                   	pop    %ebp
495989:	c3                   	ret
49598a:	cc                   	int3
49598b:	cc                   	int3
49598c:	cc                   	int3
49598d:	cc                   	int3
49598e:	cc                   	int3
49598f:	cc                   	int3
495990:	55                   	push   %ebp
495991:	8b ec                	mov    %esp,%ebp
495993:	8b 45 08             	mov    0x8(%ebp),%eax
495996:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
49599b:	66 39 08             	cmp    %cx,(%eax)
49599e:	75 1d                	jne    0x4959bd
4959a0:	8b 48 3c             	mov    0x3c(%eax),%ecx
4959a3:	03 c8                	add    %eax,%ecx
4959a5:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
4959ab:	75 10                	jne    0x4959bd
4959ad:	ba 0b 01 00 00       	mov    $0x10b,%edx
4959b2:	33 c0                	xor    %eax,%eax
4959b4:	66 39 51 18          	cmp    %dx,0x18(%ecx)
4959b8:	0f 94 c0             	sete   %al
4959bb:	5d                   	pop    %ebp
4959bc:	c3                   	ret
4959bd:	33 c0                	xor    %eax,%eax
4959bf:	5d                   	pop    %ebp
4959c0:	c3                   	ret
4959c1:	cc                   	int3
4959c2:	cc                   	int3
4959c3:	cc                   	int3
4959c4:	cc                   	int3
4959c5:	cc                   	int3
4959c6:	cc                   	int3
4959c7:	cc                   	int3
4959c8:	cc                   	int3
4959c9:	cc                   	int3
4959ca:	cc                   	int3
4959cb:	cc                   	int3
4959cc:	cc                   	int3
4959cd:	cc                   	int3
4959ce:	cc                   	int3
4959cf:	cc                   	int3
4959d0:	53                   	push   %ebx
4959d1:	8b 44 24 14          	mov    0x14(%esp),%eax
4959d5:	0b c0                	or     %eax,%eax
4959d7:	75 18                	jne    0x4959f1
4959d9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4959dd:	8b 44 24 0c          	mov    0xc(%esp),%eax
4959e1:	33 d2                	xor    %edx,%edx
4959e3:	f7 f1                	div    %ecx
4959e5:	8b 44 24 08          	mov    0x8(%esp),%eax
4959e9:	f7 f1                	div    %ecx
4959eb:	8b c2                	mov    %edx,%eax
4959ed:	33 d2                	xor    %edx,%edx
4959ef:	eb 50                	jmp    0x495a41
4959f1:	8b c8                	mov    %eax,%ecx
4959f3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4959f7:	8b 54 24 0c          	mov    0xc(%esp),%edx
4959fb:	8b 44 24 08          	mov    0x8(%esp),%eax
4959ff:	d1 e9                	shr    $1,%ecx
495a01:	d1 db                	rcr    $1,%ebx
495a03:	d1 ea                	shr    $1,%edx
495a05:	d1 d8                	rcr    $1,%eax
495a07:	0b c9                	or     %ecx,%ecx
495a09:	75 f4                	jne    0x4959ff
495a0b:	f7 f3                	div    %ebx
495a0d:	8b c8                	mov    %eax,%ecx
495a0f:	f7 64 24 14          	mull   0x14(%esp)
495a13:	91                   	xchg   %eax,%ecx
495a14:	f7 64 24 10          	mull   0x10(%esp)
495a18:	03 d1                	add    %ecx,%edx
495a1a:	72 0e                	jb     0x495a2a
495a1c:	3b 54 24 0c          	cmp    0xc(%esp),%edx
495a20:	77 08                	ja     0x495a2a
495a22:	72 0e                	jb     0x495a32
495a24:	3b 44 24 08          	cmp    0x8(%esp),%eax
495a28:	76 08                	jbe    0x495a32
495a2a:	2b 44 24 10          	sub    0x10(%esp),%eax
495a2e:	1b 54 24 14          	sbb    0x14(%esp),%edx
495a32:	2b 44 24 08          	sub    0x8(%esp),%eax
495a36:	1b 54 24 0c          	sbb    0xc(%esp),%edx
495a3a:	f7 da                	neg    %edx
495a3c:	f7 d8                	neg    %eax
495a3e:	83 da 00             	sbb    $0x0,%edx
495a41:	5b                   	pop    %ebx
495a42:	c2 10 00             	ret    $0x10
495a45:	cc                   	int3
495a46:	cc                   	int3
495a47:	cc                   	int3
495a48:	cc                   	int3
495a49:	cc                   	int3
495a4a:	cc                   	int3
495a4b:	cc                   	int3
495a4c:	cc                   	int3
495a4d:	cc                   	int3
495a4e:	cc                   	int3
495a4f:	cc                   	int3
495a50:	80 f9 40             	cmp    $0x40,%cl
495a53:	73 15                	jae    0x495a6a
495a55:	80 f9 20             	cmp    $0x20,%cl
495a58:	73 06                	jae    0x495a60
495a5a:	0f a5 c2             	shld   %cl,%eax,%edx
495a5d:	d3 e0                	shl    %cl,%eax
495a5f:	c3                   	ret
495a60:	8b d0                	mov    %eax,%edx
495a62:	33 c0                	xor    %eax,%eax
495a64:	80 e1 1f             	and    $0x1f,%cl
495a67:	d3 e2                	shl    %cl,%edx
495a69:	c3                   	ret
495a6a:	33 c0                	xor    %eax,%eax
495a6c:	33 d2                	xor    %edx,%edx
495a6e:	c3                   	ret
495a6f:	cc                   	int3
495a70:	80 f9 40             	cmp    $0x40,%cl
495a73:	73 15                	jae    0x495a8a
495a75:	80 f9 20             	cmp    $0x20,%cl
495a78:	73 06                	jae    0x495a80
495a7a:	0f ad d0             	shrd   %cl,%edx,%eax
495a7d:	d3 ea                	shr    %cl,%edx
495a7f:	c3                   	ret
495a80:	8b c2                	mov    %edx,%eax
495a82:	33 d2                	xor    %edx,%edx
495a84:	80 e1 1f             	and    $0x1f,%cl
495a87:	d3 e8                	shr    %cl,%eax
495a89:	c3                   	ret
495a8a:	33 c0                	xor    %eax,%eax
495a8c:	33 d2                	xor    %edx,%edx
495a8e:	c3                   	ret
495a8f:	cc                   	int3
495a90:	57                   	push   %edi
495a91:	56                   	push   %esi
495a92:	53                   	push   %ebx
495a93:	33 ff                	xor    %edi,%edi
495a95:	8b 44 24 14          	mov    0x14(%esp),%eax
495a99:	0b c0                	or     %eax,%eax
495a9b:	7d 14                	jge    0x495ab1
495a9d:	47                   	inc    %edi
495a9e:	8b 54 24 10          	mov    0x10(%esp),%edx
495aa2:	f7 d8                	neg    %eax
495aa4:	f7 da                	neg    %edx
495aa6:	83 d8 00             	sbb    $0x0,%eax
495aa9:	89 44 24 14          	mov    %eax,0x14(%esp)
495aad:	89 54 24 10          	mov    %edx,0x10(%esp)
495ab1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
495ab5:	0b c0                	or     %eax,%eax
495ab7:	7d 14                	jge    0x495acd
495ab9:	47                   	inc    %edi
495aba:	8b 54 24 18          	mov    0x18(%esp),%edx
495abe:	f7 d8                	neg    %eax
495ac0:	f7 da                	neg    %edx
495ac2:	83 d8 00             	sbb    $0x0,%eax
495ac5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
495ac9:	89 54 24 18          	mov    %edx,0x18(%esp)
495acd:	0b c0                	or     %eax,%eax
495acf:	75 18                	jne    0x495ae9
495ad1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
495ad5:	8b 44 24 14          	mov    0x14(%esp),%eax
495ad9:	33 d2                	xor    %edx,%edx
495adb:	f7 f1                	div    %ecx
495add:	8b d8                	mov    %eax,%ebx
495adf:	8b 44 24 10          	mov    0x10(%esp),%eax
495ae3:	f7 f1                	div    %ecx
495ae5:	8b d3                	mov    %ebx,%edx
495ae7:	eb 41                	jmp    0x495b2a
495ae9:	8b d8                	mov    %eax,%ebx
495aeb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
495aef:	8b 54 24 14          	mov    0x14(%esp),%edx
495af3:	8b 44 24 10          	mov    0x10(%esp),%eax
495af7:	d1 eb                	shr    $1,%ebx
495af9:	d1 d9                	rcr    $1,%ecx
495afb:	d1 ea                	shr    $1,%edx
495afd:	d1 d8                	rcr    $1,%eax
495aff:	0b db                	or     %ebx,%ebx
495b01:	75 f4                	jne    0x495af7
495b03:	f7 f1                	div    %ecx
495b05:	8b f0                	mov    %eax,%esi
495b07:	f7 64 24 1c          	mull   0x1c(%esp)
495b0b:	8b c8                	mov    %eax,%ecx
495b0d:	8b 44 24 18          	mov    0x18(%esp),%eax
495b11:	f7 e6                	mul    %esi
495b13:	03 d1                	add    %ecx,%edx
495b15:	72 0e                	jb     0x495b25
495b17:	3b 54 24 14          	cmp    0x14(%esp),%edx
495b1b:	77 08                	ja     0x495b25
495b1d:	72 07                	jb     0x495b26
495b1f:	3b 44 24 10          	cmp    0x10(%esp),%eax
495b23:	76 01                	jbe    0x495b26
495b25:	4e                   	dec    %esi
495b26:	33 d2                	xor    %edx,%edx
495b28:	8b c6                	mov    %esi,%eax
495b2a:	4f                   	dec    %edi
495b2b:	75 07                	jne    0x495b34
495b2d:	f7 da                	neg    %edx
495b2f:	f7 d8                	neg    %eax
495b31:	83 da 00             	sbb    $0x0,%edx
495b34:	5b                   	pop    %ebx
495b35:	5e                   	pop    %esi
495b36:	5f                   	pop    %edi
495b37:	c2 10 00             	ret    $0x10
495b3a:	cc                   	int3
495b3b:	cc                   	int3
495b3c:	cc                   	int3
495b3d:	cc                   	int3
495b3e:	cc                   	int3
495b3f:	cc                   	int3
495b40:	53                   	push   %ebx
495b41:	57                   	push   %edi
495b42:	33 ff                	xor    %edi,%edi
495b44:	8b 44 24 10          	mov    0x10(%esp),%eax
495b48:	0b c0                	or     %eax,%eax
495b4a:	7d 14                	jge    0x495b60
495b4c:	47                   	inc    %edi
495b4d:	8b 54 24 0c          	mov    0xc(%esp),%edx
495b51:	f7 d8                	neg    %eax
495b53:	f7 da                	neg    %edx
495b55:	83 d8 00             	sbb    $0x0,%eax
495b58:	89 44 24 10          	mov    %eax,0x10(%esp)
495b5c:	89 54 24 0c          	mov    %edx,0xc(%esp)
495b60:	8b 44 24 18          	mov    0x18(%esp),%eax
495b64:	0b c0                	or     %eax,%eax
495b66:	7d 13                	jge    0x495b7b
495b68:	8b 54 24 14          	mov    0x14(%esp),%edx
495b6c:	f7 d8                	neg    %eax
495b6e:	f7 da                	neg    %edx
495b70:	83 d8 00             	sbb    $0x0,%eax
495b73:	89 44 24 18          	mov    %eax,0x18(%esp)
495b77:	89 54 24 14          	mov    %edx,0x14(%esp)
495b7b:	0b c0                	or     %eax,%eax
495b7d:	75 1b                	jne    0x495b9a
495b7f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
495b83:	8b 44 24 10          	mov    0x10(%esp),%eax
495b87:	33 d2                	xor    %edx,%edx
495b89:	f7 f1                	div    %ecx
495b8b:	8b 44 24 0c          	mov    0xc(%esp),%eax
495b8f:	f7 f1                	div    %ecx
495b91:	8b c2                	mov    %edx,%eax
495b93:	33 d2                	xor    %edx,%edx
495b95:	4f                   	dec    %edi
495b96:	79 4e                	jns    0x495be6
495b98:	eb 53                	jmp    0x495bed
495b9a:	8b d8                	mov    %eax,%ebx
495b9c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
495ba0:	8b 54 24 10          	mov    0x10(%esp),%edx
495ba4:	8b 44 24 0c          	mov    0xc(%esp),%eax
495ba8:	d1 eb                	shr    $1,%ebx
495baa:	d1 d9                	rcr    $1,%ecx
495bac:	d1 ea                	shr    $1,%edx
495bae:	d1 d8                	rcr    $1,%eax
495bb0:	0b db                	or     %ebx,%ebx
495bb2:	75 f4                	jne    0x495ba8
495bb4:	f7 f1                	div    %ecx
495bb6:	8b c8                	mov    %eax,%ecx
495bb8:	f7 64 24 18          	mull   0x18(%esp)
495bbc:	91                   	xchg   %eax,%ecx
495bbd:	f7 64 24 14          	mull   0x14(%esp)
495bc1:	03 d1                	add    %ecx,%edx
495bc3:	72 0e                	jb     0x495bd3
495bc5:	3b 54 24 10          	cmp    0x10(%esp),%edx
495bc9:	77 08                	ja     0x495bd3
495bcb:	72 0e                	jb     0x495bdb
495bcd:	3b 44 24 0c          	cmp    0xc(%esp),%eax
495bd1:	76 08                	jbe    0x495bdb
495bd3:	2b 44 24 14          	sub    0x14(%esp),%eax
495bd7:	1b 54 24 18          	sbb    0x18(%esp),%edx
495bdb:	2b 44 24 0c          	sub    0xc(%esp),%eax
495bdf:	1b 54 24 10          	sbb    0x10(%esp),%edx
495be3:	4f                   	dec    %edi
495be4:	79 07                	jns    0x495bed
495be6:	f7 da                	neg    %edx
495be8:	f7 d8                	neg    %eax
495bea:	83 da 00             	sbb    $0x0,%edx
495bed:	5f                   	pop    %edi
495bee:	5b                   	pop    %ebx
495bef:	c2 10 00             	ret    $0x10
495bf2:	cc                   	int3
495bf3:	cc                   	int3
495bf4:	cc                   	int3
495bf5:	cc                   	int3
495bf6:	cc                   	int3
495bf7:	cc                   	int3
495bf8:	cc                   	int3
495bf9:	cc                   	int3
495bfa:	cc                   	int3
495bfb:	cc                   	int3
495bfc:	cc                   	int3
495bfd:	cc                   	int3
495bfe:	cc                   	int3
495bff:	cc                   	int3
495c00:	e9 0b 00 00 00       	jmp    0x495c10
495c05:	cc                   	int3
495c06:	cc                   	int3
495c07:	cc                   	int3
495c08:	cc                   	int3
495c09:	cc                   	int3
495c0a:	cc                   	int3
495c0b:	cc                   	int3
495c0c:	cc                   	int3
495c0d:	cc                   	int3
495c0e:	cc                   	int3