40e7d7:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
40e7db:	74 0b                	je     0x40e7e8
40e7dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e7e0:	83 c0 0c             	add    $0xc,%eax
40e7e3:	e8 d0 fc ff ff       	call   0x40e4b8
40e7e8:	33 c0                	xor    %eax,%eax
40e7ea:	5a                   	pop    %edx
40e7eb:	59                   	pop    %ecx
40e7ec:	59                   	pop    %ecx
40e7ed:	64 89 10             	mov    %edx,%fs:(%eax)
40e7f0:	68 33 e8 40 00       	push   $0x40e833
40e7f5:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e7f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e7fb:	8b 40 20             	mov    0x20(%eax),%eax
40e7fe:	e8 21 fe ff ff       	call   0x40e624
40e803:	c3                   	ret
40e804:	e9 03 5a ff ff       	jmp    0x40420c
40e809:	eb ea                	jmp    0x40e7f5
40e80b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e80e:	83 c0 0c             	add    $0xc,%eax
40e811:	ba ff ff 00 00       	mov    $0xffff,%edx
40e816:	e8 bd fc ff ff       	call   0x40e4d8
40e81b:	05 ff ff 00 00       	add    $0xffff,%eax
40e820:	85 c0                	test   %eax,%eax
40e822:	7f 07                	jg     0x40e82b
40e824:	3d 02 00 fe ff       	cmp    $0xfffe0002,%eax
40e829:	7f 08                	jg     0x40e833
40e82b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e82e:	e8 39 ff ff ff       	call   0x40e76c
40e833:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e836:	83 c0 0c             	add    $0xc,%eax
40e839:	ba 01 00 ff ff       	mov    $0xffff0001,%edx
40e83e:	e8 95 fc ff ff       	call   0x40e4d8
40e843:	2d ff ff 00 00       	sub    $0xffff,%eax
40e848:	75 c1                	jne    0x40e80b
40e84a:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
40e84e:	74 0b                	je     0x40e85b
40e850:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e853:	83 c0 0c             	add    $0xc,%eax
40e856:	e8 69 fc ff ff       	call   0x40e4c4
40e85b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e85e:	8b 55 f0             	mov    -0x10(%ebp),%edx
40e861:	89 50 24             	mov    %edx,0x24(%eax)
40e864:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e867:	83 c0 28             	add    $0x28,%eax
40e86a:	e8 49 fc ff ff       	call   0x40e4b8
40e86f:	48                   	dec    %eax
40e870:	3b 45 ec             	cmp    -0x14(%ebp),%eax
40e873:	0f 94 c3             	sete   %bl
40e876:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e879:	ff 40 1c             	incl   0x1c(%eax)
40e87c:	8b c3                	mov    %ebx,%eax
40e87e:	5b                   	pop    %ebx
40e87f:	8b e5                	mov    %ebp,%esp
40e881:	5d                   	pop    %ebp
40e882:	c3                   	ret
40e883:	90                   	nop
40e884:	55                   	push   %ebp
40e885:	8b ec                	mov    %esp,%ebp
40e887:	83 c4 f8             	add    $0xfffffff8,%esp
40e88a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e88d:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e890:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e893:	8b 40 20             	mov    0x20(%eax),%eax
40e896:	e8 11 fd ff ff       	call   0x40e5ac
40e89b:	33 c0                	xor    %eax,%eax
40e89d:	55                   	push   %ebp
40e89e:	68 1a e9 40 00       	push   $0x40e91a
40e8a3:	64 ff 30             	push   %fs:(%eax)
40e8a6:	64 89 20             	mov    %esp,%fs:(%eax)
40e8a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8ac:	ff 48 1c             	decl   0x1c(%eax)
40e8af:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8b2:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40e8b6:	75 2f                	jne    0x40e8e7
40e8b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8bb:	33 d2                	xor    %edx,%edx
40e8bd:	89 50 24             	mov    %edx,0x24(%eax)
40e8c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8c3:	83 c0 0c             	add    $0xc,%eax
40e8c6:	ba ff ff 00 00       	mov    $0xffff,%edx
40e8cb:	e8 08 fc ff ff       	call   0x40e4d8
40e8d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8d3:	e8 78 fe ff ff       	call   0x40e750
40e8d8:	6a 00                	push   $0x0
40e8da:	e8 8d fa ff ff       	call   0x40e36c
40e8df:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8e2:	e8 5d fe ff ff       	call   0x40e744
40e8e7:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e8ea:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40e8ee:	75 0e                	jne    0x40e8fe
40e8f0:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e8f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8f6:	8b 40 20             	mov    0x20(%eax),%eax
40e8f9:	e8 2e fd ff ff       	call   0x40e62c
40e8fe:	33 c0                	xor    %eax,%eax
40e900:	5a                   	pop    %edx
40e901:	59                   	pop    %ecx
40e902:	59                   	pop    %ecx
40e903:	64 89 10             	mov    %edx,%fs:(%eax)
40e906:	68 21 e9 40 00       	push   $0x40e921
40e90b:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e90e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e911:	8b 40 20             	mov    0x20(%eax),%eax
40e914:	e8 0b fd ff ff       	call   0x40e624
40e919:	c3                   	ret
40e91a:	e9 ed 58 ff ff       	jmp    0x40420c
40e91f:	eb ea                	jmp    0x40e90b
40e921:	59                   	pop    %ecx
40e922:	59                   	pop    %ecx
40e923:	5d                   	pop    %ebp
40e924:	c3                   	ret
40e925:	8d 40 00             	lea    0x0(%eax),%eax
40e928:	55                   	push   %ebp
40e929:	8b ec                	mov    %esp,%ebp
40e92b:	83 c4 f8             	add    $0xfffffff8,%esp
40e92e:	53                   	push   %ebx
40e92f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e932:	33 db                	xor    %ebx,%ebx
40e934:	e8 8f 88 ff ff       	call   0x4071c8
40e939:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e93c:	3b 42 24             	cmp    0x24(%edx),%eax
40e93f:	74 26                	je     0x40e967
40e941:	eb 13                	jmp    0x40e956
40e943:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e946:	83 c0 0c             	add    $0xc,%eax
40e949:	e8 6a fb ff ff       	call   0x40e4b8
40e94e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e951:	e8 06 fe ff ff       	call   0x40e75c
40e956:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e959:	83 c0 0c             	add    $0xc,%eax
40e95c:	e8 63 fb ff ff       	call   0x40e4c4
40e961:	85 c0                	test   %eax,%eax
40e963:	7e de                	jle    0x40e943
40e965:	b3 01                	mov    $0x1,%bl
40e967:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e96a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e96d:	8b 40 20             	mov    0x20(%eax),%eax
40e970:	e8 37 fc ff ff       	call   0x40e5ac
40e975:	33 c0                	xor    %eax,%eax
40e977:	55                   	push   %ebp
40e978:	68 be e9 40 00       	push   $0x40e9be
40e97d:	64 ff 30             	push   %fs:(%eax)
40e980:	64 89 20             	mov    %esp,%fs:(%eax)
40e983:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e986:	ff 40 0c             	incl   0xc(%eax)
40e989:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e98c:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
40e990:	0f 97 c0             	seta   %al
40e993:	84 d8                	test   %bl,%al
40e995:	74 0b                	je     0x40e9a2
40e997:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e99a:	83 c0 0c             	add    $0xc,%eax
40e99d:	e8 16 fb ff ff       	call   0x40e4b8
40e9a2:	33 c0                	xor    %eax,%eax
40e9a4:	5a                   	pop    %edx
40e9a5:	59                   	pop    %ecx
40e9a6:	59                   	pop    %ecx
40e9a7:	64 89 10             	mov    %edx,%fs:(%eax)
40e9aa:	68 c5 e9 40 00       	push   $0x40e9c5
40e9af:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e9b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e9b5:	8b 40 20             	mov    0x20(%eax),%eax
40e9b8:	e8 67 fc ff ff       	call   0x40e624
40e9bd:	c3                   	ret
40e9be:	e9 49 58 ff ff       	jmp    0x40420c
40e9c3:	eb ea                	jmp    0x40e9af
40e9c5:	5b                   	pop    %ebx
40e9c6:	59                   	pop    %ecx
40e9c7:	59                   	pop    %ecx
40e9c8:	5d                   	pop    %ebp
40e9c9:	c3                   	ret
40e9ca:	8b c0                	mov    %eax,%eax
40e9cc:	55                   	push   %ebp
40e9cd:	8b ec                	mov    %esp,%ebp
40e9cf:	83 c4 f8             	add    $0xfffffff8,%esp
40e9d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e9d5:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e9d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e9db:	8b 40 20             	mov    0x20(%eax),%eax
40e9de:	e8 c9 fb ff ff       	call   0x40e5ac
40e9e3:	33 c0                	xor    %eax,%eax
40e9e5:	55                   	push   %ebp
40e9e6:	68 51 ea 40 00       	push   $0x40ea51
40e9eb:	64 ff 30             	push   %fs:(%eax)
40e9ee:	64 89 20             	mov    %esp,%fs:(%eax)
40e9f1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e9f4:	ff 48 0c             	decl   0xc(%eax)
40e9f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e9fa:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40e9fe:	75 35                	jne    0x40ea35
40ea00:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ea03:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea06:	8b 40 20             	mov    0x20(%eax),%eax
40ea09:	e8 1e fc ff ff       	call   0x40e62c
40ea0e:	e8 b5 87 ff ff       	call   0x4071c8
40ea13:	8b 55 fc             	mov    -0x4(%ebp),%edx
40ea16:	3b 42 24             	cmp    0x24(%edx),%eax
40ea19:	74 1a                	je     0x40ea35
40ea1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea1e:	83 c0 0c             	add    $0xc,%eax
40ea21:	e8 92 fa ff ff       	call   0x40e4b8
40ea26:	3d ff ff 00 00       	cmp    $0xffff,%eax
40ea2b:	75 08                	jne    0x40ea35
40ea2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea30:	e8 1b fd ff ff       	call   0x40e750
40ea35:	33 c0                	xor    %eax,%eax
40ea37:	5a                   	pop    %edx
40ea38:	59                   	pop    %ecx
40ea39:	59                   	pop    %ecx
40ea3a:	64 89 10             	mov    %edx,%fs:(%eax)
40ea3d:	68 58 ea 40 00       	push   $0x40ea58
40ea42:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ea45:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea48:	8b 40 20             	mov    0x20(%eax),%eax
40ea4b:	e8 d4 fb ff ff       	call   0x40e624
40ea50:	c3                   	ret
40ea51:	e9 b6 57 ff ff       	jmp    0x40420c
40ea56:	eb ea                	jmp    0x40ea42
40ea58:	59                   	pop    %ecx
40ea59:	59                   	pop    %ecx
40ea5a:	5d                   	pop    %ebp
40ea5b:	c3                   	ret
40ea5c:	8b 10                	mov    (%eax),%edx
40ea5e:	33 c9                	xor    %ecx,%ecx
40ea60:	89 08                	mov    %ecx,(%eax)
40ea62:	8b c2                	mov    %edx,%eax
40ea64:	e8 0f 50 ff ff       	call   0x403a78
40ea69:	c3                   	ret
40ea6a:	8b c0                	mov    %eax,%eax
40ea6c:	53                   	push   %ebx
40ea6d:	56                   	push   %esi
40ea6e:	57                   	push   %edi
40ea6f:	8b f9                	mov    %ecx,%edi
40ea71:	8b f2                	mov    %edx,%esi
40ea73:	8b d8                	mov    %eax,%ebx
40ea75:	85 db                	test   %ebx,%ebx
40ea77:	74 0b                	je     0x40ea84
40ea79:	57                   	push   %edi
40ea7a:	56                   	push   %esi
40ea7b:	53                   	push   %ebx
40ea7c:	8b 03                	mov    (%ebx),%eax
40ea7e:	ff 10                	call   *(%eax)
40ea80:	85 c0                	test   %eax,%eax
40ea82:	74 04                	je     0x40ea88
40ea84:	33 c0                	xor    %eax,%eax
40ea86:	eb 02                	jmp    0x40ea8a
40ea88:	b0 01                	mov    $0x1,%al
40ea8a:	5f                   	pop    %edi
40ea8b:	5e                   	pop    %esi
40ea8c:	5b                   	pop    %ebx
40ea8d:	c3                   	ret
40ea8e:	8b c0                	mov    %eax,%eax
40ea90:	55                   	push   %ebp
40ea91:	8b ec                	mov    %esp,%ebp
40ea93:	6a 00                	push   $0x0
40ea95:	53                   	push   %ebx
40ea96:	56                   	push   %esi
40ea97:	57                   	push   %edi
40ea98:	8b f9                	mov    %ecx,%edi
40ea9a:	8b f2                	mov    %edx,%esi
40ea9c:	8b d8                	mov    %eax,%ebx
40ea9e:	33 c0                	xor    %eax,%eax
40eaa0:	55                   	push   %ebp
40eaa1:	68 07 eb 40 00       	push   $0x40eb07
40eaa6:	64 ff 30             	push   %fs:(%eax)
40eaa9:	64 89 20             	mov    %esp,%fs:(%eax)
40eaac:	85 db                	test   %ebx,%ebx
40eaae:	74 39                	je     0x40eae9
40eab0:	8d 45 fc             	lea    -0x4(%ebp),%eax
40eab3:	e8 7c 7d ff ff       	call   0x406834
40eab8:	8b c8                	mov    %eax,%ecx
40eaba:	ba 18 eb 40 00       	mov    $0x40eb18,%edx
40eabf:	8b c3                	mov    %ebx,%eax
40eac1:	e8 66 50 ff ff       	call   0x403b2c
40eac6:	84 c0                	test   %al,%al
40eac8:	74 10                	je     0x40eada
40eaca:	8b cf                	mov    %edi,%ecx
40eacc:	8b d6                	mov    %esi,%edx
40eace:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ead1:	e8 96 ff ff ff       	call   0x40ea6c
40ead6:	84 c0                	test   %al,%al
40ead8:	75 13                	jne    0x40eaed
40eada:	8b cf                	mov    %edi,%ecx
40eadc:	8b d6                	mov    %esi,%edx
40eade:	8b c3                	mov    %ebx,%eax
40eae0:	e8 47 50 ff ff       	call   0x403b2c
40eae5:	84 c0                	test   %al,%al
40eae7:	75 04                	jne    0x40eaed
40eae9:	33 c0                	xor    %eax,%eax
40eaeb:	eb 02                	jmp    0x40eaef
40eaed:	b0 01                	mov    $0x1,%al
40eaef:	8b d8                	mov    %eax,%ebx
40eaf1:	33 c0                	xor    %eax,%eax
40eaf3:	5a                   	pop    %edx
40eaf4:	59                   	pop    %ecx
40eaf5:	59                   	pop    %ecx
40eaf6:	64 89 10             	mov    %edx,%fs:(%eax)
40eaf9:	68 0e eb 40 00       	push   $0x40eb0e
40eafe:	8d 45 fc             	lea    -0x4(%ebp),%eax
40eb01:	e8 2e 7d ff ff       	call   0x406834
40eb06:	c3                   	ret
40eb07:	e9 00 57 ff ff       	jmp    0x40420c
40eb0c:	eb f0                	jmp    0x40eafe
40eb0e:	8b c3                	mov    %ebx,%eax
40eb10:	5f                   	pop    %edi
40eb11:	5e                   	pop    %esi
40eb12:	5b                   	pop    %ebx
40eb13:	59                   	pop    %ecx
40eb14:	5d                   	pop    %ebp
40eb15:	c3                   	ret
40eb1e:	00 00                	add    %al,(%eax)
40eb20:	c0 00 00             	rolb   $0x0,(%eax)
40eb23:	00 00                	add    %al,(%eax)
40eb25:	00 00                	add    %al,(%eax)
40eb27:	46                   	inc    %esi
40eb28:	55                   	push   %ebp
40eb29:	8b ec                	mov    %esp,%ebp
40eb2b:	83 c4 f4             	add    $0xfffffff4,%esp
40eb2e:	53                   	push   %ebx
40eb2f:	8b d8                	mov    %eax,%ebx
40eb31:	52                   	push   %edx
40eb32:	e8 49 88 ff ff       	call   0x407380
40eb37:	89 45 f4             	mov    %eax,-0xc(%ebp)
40eb3a:	33 c0                	xor    %eax,%eax
40eb3c:	55                   	push   %ebp
40eb3d:	68 9a eb 40 00       	push   $0x40eb9a
40eb42:	64 ff 30             	push   %fs:(%eax)
40eb45:	64 89 20             	mov    %esp,%fs:(%eax)
40eb48:	d9 7d fe             	fnstcw -0x2(%ebp)
40eb4b:	33 c0                	xor    %eax,%eax
40eb4d:	55                   	push   %ebp
40eb4e:	68 7c eb 40 00       	push   $0x40eb7c
40eb53:	64 ff 30             	push   %fs:(%eax)
40eb56:	64 89 20             	mov    %esp,%fs:(%eax)
40eb59:	8b c3                	mov    %ebx,%eax
40eb5b:	e8 b8 61 ff ff       	call   0x404d18
40eb60:	50                   	push   %eax
40eb61:	e8 b2 87 ff ff       	call   0x407318
40eb66:	89 45 f8             	mov    %eax,-0x8(%ebp)
40eb69:	33 c0                	xor    %eax,%eax
40eb6b:	5a                   	pop    %edx
40eb6c:	59                   	pop    %ecx
40eb6d:	59                   	pop    %ecx
40eb6e:	64 89 10             	mov    %edx,%fs:(%eax)
40eb71:	68 83 eb 40 00       	push   $0x40eb83
40eb76:	db e2                	fnclex
40eb78:	d9 6d fe             	fldcw  -0x2(%ebp)
40eb7b:	c3                   	ret
40eb7c:	e9 8b 56 ff ff       	jmp    0x40420c