416912:	59                   	pop    %ecx
416913:	5a                   	pop    %edx
416914:	c3                   	ret
416915:	66 8b 00             	mov    (%eax),%ax
416918:	66 25 00 20          	and    $0x2000,%ax
41691c:	66 3d 00 20          	cmp    $0x2000,%ax
416920:	0f 94 c0             	sete   %al
416923:	59                   	pop    %ecx
416924:	5a                   	pop    %edx
416925:	c3                   	ret
416926:	8b c0                	mov    %eax,%eax
416928:	8b d0                	mov    %eax,%edx
41692a:	66 83 ea 16          	sub    $0x16,%dx
41692e:	73 12                	jae    0x416942
416930:	0f b7 c0             	movzwl %ax,%eax
416933:	8d 04 40             	lea    (%eax,%eax,2),%eax
416936:	8b 15 4c 70 6a 00    	mov    0x6a704c,%edx
41693c:	80 3c 82 00          	cmpb   $0x0,(%edx,%eax,4)
416940:	75 03                	jne    0x416945
416942:	33 c0                	xor    %eax,%eax
416944:	c3                   	ret
416945:	b0 01                	mov    $0x1,%al
416947:	c3                   	ret
416948:	53                   	push   %ebx
416949:	56                   	push   %esi
41694a:	8b d8                	mov    %eax,%ebx
41694c:	0f b7 f3             	movzwl %bx,%esi
41694f:	81 e6 ff bf ff ff    	and    $0xffffbfff,%esi
416955:	8b c6                	mov    %esi,%eax
416957:	83 e8 16             	sub    $0x16,%eax
41695a:	73 10                	jae    0x41696c
41695c:	8d 04 76             	lea    (%esi,%esi,2),%eax
41695f:	8b 15 4c 70 6a 00    	mov    0x6a704c,%edx
416965:	80 7c 82 01 00       	cmpb   $0x0,0x1(%edx,%eax,4)
41696a:	75 10                	jne    0x41697c
41696c:	8b c3                	mov    %ebx,%eax
41696e:	e8 55 fc ff ff       	call   0x4165c8
416973:	84 c0                	test   %al,%al
416975:	75 05                	jne    0x41697c
416977:	33 c0                	xor    %eax,%eax
416979:	5e                   	pop    %esi
41697a:	5b                   	pop    %ebx
41697b:	c3                   	ret
41697c:	b0 01                	mov    $0x1,%al
41697e:	5e                   	pop    %esi
41697f:	5b                   	pop    %ebx
416980:	c3                   	ret
416981:	8d 40 00             	lea    0x0(%eax),%eax
416984:	55                   	push   %ebp
416985:	8b ec                	mov    %esp,%ebp
416987:	83 c4 e4             	add    $0xffffffe4,%esp
41698a:	53                   	push   %ebx
41698b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41698e:	8d 55 ee             	lea    -0x12(%ebp),%edx
416991:	8b 45 0c             	mov    0xc(%ebp),%eax
416994:	e8 83 fd ff ff       	call   0x41671c
416999:	84 c0                	test   %al,%al
41699b:	75 0a                	jne    0x4169a7
41699d:	b8 57 00 07 80       	mov    $0x80070057,%eax
4169a2:	e8 65 90 ff ff       	call   0x40fa0c
4169a7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4169aa:	0f b7 00             	movzwl (%eax),%eax
4169ad:	3b 45 10             	cmp    0x10(%ebp),%eax
4169b0:	74 0a                	je     0x4169bc
4169b2:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
4169b7:	e8 50 90 ff ff       	call   0x40fa0c
4169bc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4169bf:	50                   	push   %eax
4169c0:	e8 53 87 ff ff       	call   0x40f118
4169c5:	33 c0                	xor    %eax,%eax
4169c7:	55                   	push   %ebp
4169c8:	68 44 6a 41 00       	push   $0x416a44
4169cd:	64 ff 30             	push   %fs:(%eax)
4169d0:	64 89 20             	mov    %esp,%fs:(%eax)
4169d3:	66 8b 5d ee          	mov    -0x12(%ebp),%bx
4169d7:	66 81 e3 ff 0f       	and    $0xfff,%bx
4169dc:	0f b7 db             	movzwl %bx,%ebx
4169df:	83 fb 0c             	cmp    $0xc,%ebx
4169e2:	75 25                	jne    0x416a09
4169e4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4169e7:	50                   	push   %eax
4169e8:	8d 45 14             	lea    0x14(%ebp),%eax
4169eb:	50                   	push   %eax
4169ec:	8b 45 e8             	mov    -0x18(%ebp),%eax
4169ef:	50                   	push   %eax
4169f0:	e8 cb 87 ff ff       	call   0x40f1c0
4169f5:	e8 12 90 ff ff       	call   0x40fa0c
4169fa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4169fd:	8b d0                	mov    %eax,%edx
4169ff:	8d 45 f0             	lea    -0x10(%ebp),%eax
416a02:	e8 25 9a ff ff       	call   0x41042c
416a07:	eb 1a                	jmp    0x416a23
416a09:	8d 45 f8             	lea    -0x8(%ebp),%eax
416a0c:	50                   	push   %eax
416a0d:	8d 45 14             	lea    0x14(%ebp),%eax
416a10:	50                   	push   %eax
416a11:	8b 45 e8             	mov    -0x18(%ebp),%eax
416a14:	50                   	push   %eax
416a15:	e8 96 87 ff ff       	call   0x40f1b0
416a1a:	e8 ed 8f ff ff       	call   0x40fa0c
416a1f:	66 89 5d f0          	mov    %bx,-0x10(%ebp)
416a23:	8d 55 f0             	lea    -0x10(%ebp),%edx
416a26:	8b 45 08             	mov    0x8(%ebp),%eax
416a29:	e8 fe 99 ff ff       	call   0x41042c
416a2e:	33 c0                	xor    %eax,%eax
416a30:	5a                   	pop    %edx
416a31:	59                   	pop    %ecx
416a32:	59                   	pop    %ecx
416a33:	64 89 10             	mov    %edx,%fs:(%eax)
416a36:	68 4b 6a 41 00       	push   $0x416a4b
416a3b:	8d 45 f0             	lea    -0x10(%ebp),%eax
416a3e:	e8 a5 95 ff ff       	call   0x40ffe8
416a43:	c3                   	ret
416a44:	e9 c3 d7 fe ff       	jmp    0x40420c
416a49:	eb f0                	jmp    0x416a3b
416a4b:	5b                   	pop    %ebx
416a4c:	8b e5                	mov    %ebp,%esp
416a4e:	5d                   	pop    %ebp
416a4f:	c3                   	ret
416a50:	55                   	push   %ebp
416a51:	8b ec                	mov    %esp,%ebp
416a53:	53                   	push   %ebx
416a54:	89 cb                	mov    %ecx,%ebx
416a56:	43                   	inc    %ebx
416a57:	7e 06                	jle    0x416a5f
416a59:	ff 34 8a             	push   (%edx,%ecx,4)
416a5c:	49                   	dec    %ecx
416a5d:	79 fa                	jns    0x416a59
416a5f:	53                   	push   %ebx
416a60:	50                   	push   %eax
416a61:	8b 45 08             	mov    0x8(%ebp),%eax
416a64:	50                   	push   %eax
416a65:	e8 1a ff ff ff       	call   0x416984
416a6a:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
416a6e:	5b                   	pop    %ebx
416a6f:	5d                   	pop    %ebp
416a70:	c2 04 00             	ret    $0x4
416a73:	90                   	nop
416a74:	55                   	push   %ebp
416a75:	8b ec                	mov    %esp,%ebp
416a77:	83 c4 dc             	add    $0xffffffdc,%esp
416a7a:	53                   	push   %ebx
416a7b:	56                   	push   %esi
416a7c:	8b 75 0c             	mov    0xc(%ebp),%esi
416a7f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
416a82:	8d 55 ee             	lea    -0x12(%ebp),%edx
416a85:	8b 45 08             	mov    0x8(%ebp),%eax
416a88:	e8 8f fc ff ff       	call   0x41671c
416a8d:	84 c0                	test   %al,%al
416a8f:	75 0a                	jne    0x416a9b
416a91:	b8 57 00 07 80       	mov    $0x80070057,%eax
416a96:	e8 71 8f ff ff       	call   0x40fa0c
416a9b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
416a9e:	8d 55 e6             	lea    -0x1a(%ebp),%edx
416aa1:	8b c6                	mov    %esi,%eax
416aa3:	e8 74 fc ff ff       	call   0x41671c
416aa8:	84 c0                	test   %al,%al
416aaa:	75 1f                	jne    0x416acb
416aac:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
416ab0:	e8 93 fe ff ff       	call   0x416948
416ab5:	84 c0                	test   %al,%al
416ab7:	75 12                	jne    0x416acb
416ab9:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
416abf:	74 0a                	je     0x416acb
416ac1:	b8 05 00 02 80       	mov    $0x80020005,%eax
416ac6:	e8 41 8f ff ff       	call   0x40fa0c
416acb:	8b 45 e8             	mov    -0x18(%ebp),%eax
416ace:	0f b7 00             	movzwl (%eax),%eax
416ad1:	3b 45 10             	cmp    0x10(%ebp),%eax
416ad4:	74 0a                	je     0x416ae0
416ad6:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
416adb:	e8 2c 8f ff ff       	call   0x40fa0c
416ae0:	66 8b 5d ee          	mov    -0x12(%ebp),%bx
416ae4:	66 81 e3 ff 0f       	and    $0xfff,%bx
416ae9:	0f b7 db             	movzwl %bx,%ebx
416aec:	83 fb 0c             	cmp    $0xc,%ebx
416aef:	75 3a                	jne    0x416b2b
416af1:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
416af7:	75 0d                	jne    0x416b06
416af9:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
416afd:	e8 c6 fa ff ff       	call   0x4165c8
416b02:	84 c0                	test   %al,%al
416b04:	74 25                	je     0x416b2b
416b06:	8d 45 dc             	lea    -0x24(%ebp),%eax
416b09:	50                   	push   %eax
416b0a:	8d 45 14             	lea    0x14(%ebp),%eax
416b0d:	50                   	push   %eax
416b0e:	8b 45 e8             	mov    -0x18(%ebp),%eax
416b11:	50                   	push   %eax
416b12:	e8 a9 86 ff ff       	call   0x40f1c0
416b17:	e8 f0 8e ff ff       	call   0x40fa0c
416b1c:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b1f:	8b d6                	mov    %esi,%edx
416b21:	e8 5a ee fe ff       	call   0x405980
416b26:	e9 88 00 00 00       	jmp    0x416bb3
416b2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b2e:	50                   	push   %eax
416b2f:	e8 e4 85 ff ff       	call   0x40f118
416b34:	33 c0                	xor    %eax,%eax
416b36:	55                   	push   %ebp
416b37:	68 ac 6b 41 00       	push   $0x416bac
416b3c:	64 ff 30             	push   %fs:(%eax)
416b3f:	64 89 20             	mov    %esp,%fs:(%eax)
416b42:	83 fb 0c             	cmp    $0xc,%ebx
416b45:	75 12                	jne    0x416b59
416b47:	8b d6                	mov    %esi,%edx
416b49:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b4c:	e8 af 9b ff ff       	call   0x410700
416b51:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b54:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b57:	eb 27                	jmp    0x416b80
416b59:	8b d6                	mov    %esi,%edx
416b5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b5e:	8b cb                	mov    %ebx,%ecx
416b60:	e8 37 a3 ff ff       	call   0x410e9c
416b65:	83 c3 f8             	add    $0xfffffff8,%ebx
416b68:	83 eb 02             	sub    $0x2,%ebx
416b6b:	72 05                	jb     0x416b72
416b6d:	83 eb 03             	sub    $0x3,%ebx
416b70:	75 08                	jne    0x416b7a
416b72:	8b 45 f8             	mov    -0x8(%ebp),%eax
416b75:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b78:	eb 06                	jmp    0x416b80
416b7a:	8d 45 f8             	lea    -0x8(%ebp),%eax
416b7d:	89 45 dc             	mov    %eax,-0x24(%ebp)
416b80:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b83:	50                   	push   %eax
416b84:	8d 45 14             	lea    0x14(%ebp),%eax
416b87:	50                   	push   %eax
416b88:	8b 45 e8             	mov    -0x18(%ebp),%eax
416b8b:	50                   	push   %eax
416b8c:	e8 27 86 ff ff       	call   0x40f1b8
416b91:	e8 76 8e ff ff       	call   0x40fa0c
416b96:	33 c0                	xor    %eax,%eax
416b98:	5a                   	pop    %edx
416b99:	59                   	pop    %ecx
416b9a:	59                   	pop    %ecx
416b9b:	64 89 10             	mov    %edx,%fs:(%eax)
416b9e:	68 b3 6b 41 00       	push   $0x416bb3
416ba3:	8d 45 f0             	lea    -0x10(%ebp),%eax
416ba6:	e8 3d 94 ff ff       	call   0x40ffe8
416bab:	c3                   	ret
416bac:	e9 5b d6 fe ff       	jmp    0x40420c
416bb1:	eb f0                	jmp    0x416ba3
416bb3:	5e                   	pop    %esi
416bb4:	5b                   	pop    %ebx
416bb5:	8b e5                	mov    %ebp,%esp
416bb7:	5d                   	pop    %ebp
416bb8:	c3                   	ret
416bb9:	8d 40 00             	lea    0x0(%eax),%eax
416bbc:	55                   	push   %ebp
416bbd:	8b ec                	mov    %esp,%ebp
416bbf:	53                   	push   %ebx
416bc0:	8b 5d 08             	mov    0x8(%ebp),%ebx
416bc3:	85 db                	test   %ebx,%ebx
416bc5:	78 06                	js     0x416bcd
416bc7:	ff 34 99             	push   (%ecx,%ebx,4)
416bca:	4b                   	dec    %ebx
416bcb:	79 fa                	jns    0x416bc7
416bcd:	8b 5d 08             	mov    0x8(%ebp),%ebx
416bd0:	43                   	inc    %ebx
416bd1:	53                   	push   %ebx
416bd2:	52                   	push   %edx
416bd3:	50                   	push   %eax
416bd4:	e8 9b fe ff ff       	call   0x416a74
416bd9:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
416bdd:	5b                   	pop    %ebx
416bde:	5d                   	pop    %ebp
416bdf:	c2 04 00             	ret    $0x4
416be2:	8b c0                	mov    %eax,%eax
416be4:	55                   	push   %ebp
416be5:	8b ec                	mov    %esp,%ebp
416be7:	53                   	push   %ebx
416be8:	56                   	push   %esi
416be9:	57                   	push   %edi
416bea:	55                   	push   %ebp
416beb:	89 d6                	mov    %edx,%esi
416bed:	8b 7d 08             	mov    0x8(%ebp),%edi
416bf0:	89 c5                	mov    %eax,%ebp
416bf2:	31 db                	xor    %ebx,%ebx
416bf4:	85 c9                	test   %ecx,%ecx
416bf6:	7d 03                	jge    0x416bfb
416bf8:	8b 6d 00             	mov    0x0(%ebp),%ebp
416bfb:	31 c0                	xor    %eax,%eax
416bfd:	8a 47 01             	mov    0x1(%edi),%al
416c00:	01 c7                	add    %eax,%edi
416c02:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
416c05:	f7 67 02             	mull   0x2(%edi)
416c08:	8b 7f 06             	mov    0x6(%edi),%edi
416c0b:	85 ff                	test   %edi,%edi
416c0d:	74 02                	je     0x416c11
416c0f:	8b 3f                	mov    (%edi),%edi
416c11:	01 c5                	add    %eax,%ebp
416c13:	43                   	inc    %ebx
416c14:	39 cb                	cmp    %ecx,%ebx
416c16:	7e e0                	jle    0x416bf8
416c18:	89 e8                	mov    %ebp,%eax
416c1a:	5d                   	pop    %ebp
416c1b:	5f                   	pop    %edi
416c1c:	5e                   	pop    %esi
416c1d:	5b                   	pop    %ebx
416c1e:	5d                   	pop    %ebp
416c1f:	c2 04 00             	ret    $0x4
416c22:	8b c0                	mov    %eax,%eax
416c24:	33 d2                	xor    %edx,%edx
416c26:	85 c0                	test   %eax,%eax
416c28:	74 10                	je     0x416c3a
416c2a:	33 c9                	xor    %ecx,%ecx
416c2c:	8a 48 01             	mov    0x1(%eax),%cl
416c2f:	01 c8                	add    %ecx,%eax
416c31:	8b 48 06             	mov    0x6(%eax),%ecx
416c34:	85 c9                	test   %ecx,%ecx
416c36:	74 02                	je     0x416c3a
416c38:	8b 11                	mov    (%ecx),%edx
416c3a:	8b c2                	mov    %edx,%eax
416c3c:	c3                   	ret
416c3d:	8d 40 00             	lea    0x0(%eax),%eax
416c40:	53                   	push   %ebx
416c41:	33 db                	xor    %ebx,%ebx
416c43:	eb 06                	jmp    0x416c4b
416c45:	43                   	inc    %ebx
416c46:	e8 d9 ff ff ff       	call   0x416c24
416c4b:	85 c0                	test   %eax,%eax
416c4d:	74 05                	je     0x416c54
416c4f:	80 38 11             	cmpb   $0x11,(%eax)
416c52:	74 f1                	je     0x416c45
416c54:	8b c3                	mov    %ebx,%eax
416c56:	5b                   	pop    %ebx
416c57:	c3                   	ret
416c58:	85 c0                	test   %eax,%eax
416c5a:	74 03                	je     0x416c5f
416c5c:	8b 40 fc             	mov    -0x4(%eax),%eax
416c5f:	c3                   	ret
416c60:	53                   	push   %ebx
416c61:	56                   	push   %esi
416c62:	57                   	push   %edi
416c63:	55                   	push   %ebp
416c64:	83 c4 f8             	add    $0xfffffff8,%esp
416c67:	c6 04 24 01          	movb   $0x1,(%esp)
416c6b:	8b d8                	mov    %eax,%ebx
416c6d:	8b c2                	mov    %edx,%eax
416c6f:	e8 cc ff ff ff       	call   0x416c40
416c74:	48                   	dec    %eax
416c75:	85 c0                	test   %eax,%eax
416c77:	7e 42                	jle    0x416cbb
416c79:	89 44 24 04          	mov    %eax,0x4(%esp)
416c7d:	85 db                	test   %ebx,%ebx
416c7f:	74 34                	je     0x416cb5
416c81:	8b c3                	mov    %ebx,%eax
416c83:	e8 d0 ff ff ff       	call   0x416c58