407993:	8b 45 b4             	mov    -0x4c(%ebp),%eax
407996:	50                   	push   %eax
407997:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40799a:	52                   	push   %edx
40799b:	89 7d b4             	mov    %edi,-0x4c(%ebp)
40799e:	ff 15 70 11 40 00    	call   *0x401170
4079a4:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4079a7:	ff 15 d0 11 40 00    	call   *0x4011d0
4079ad:	68 ec 62 40 00       	push   $0x4062ec
4079b2:	ff 15 cc 10 40 00    	call   *0x4010cc
4079b8:	8b d0                	mov    %eax,%edx
4079ba:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4079bd:	ff 15 b0 11 40 00    	call   *0x4011b0
4079c3:	50                   	push   %eax
4079c4:	68 f4 62 40 00       	push   $0x4062f4
4079c9:	ff 15 d4 10 40 00    	call   *0x4010d4
4079cf:	8b f0                	mov    %eax,%esi
4079d1:	f7 de                	neg    %esi
4079d3:	1b f6                	sbb    %esi,%esi
4079d5:	f7 de                	neg    %esi
4079d7:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4079da:	f7 de                	neg    %esi
4079dc:	ff 15 cc 11 40 00    	call   *0x4011cc
4079e2:	66 3b f7             	cmp    %di,%si
4079e5:	74 19                	je     0x407a00
4079e7:	57                   	push   %edi
4079e8:	68 fc 62 40 00       	push   $0x4062fc
4079ed:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4079f0:	50                   	push   %eax
4079f1:	ff 15 3c 11 40 00    	call   *0x40113c
4079f7:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4079fa:	ff 15 1c 10 40 00    	call   *0x40101c
407a00:	9b                   	fwait
407a01:	68 6f 7a 40 00       	push   $0x407a6f
407a06:	eb 4d                	jmp    0x407a55
407a08:	8d 4d bc             	lea    -0x44(%ebp),%ecx
407a0b:	ff 15 cc 11 40 00    	call   *0x4011cc
407a11:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
407a14:	51                   	push   %ecx
407a15:	8d 55 b8             	lea    -0x48(%ebp),%edx
407a18:	52                   	push   %edx
407a19:	6a 02                	push   $0x2
407a1b:	ff 15 40 10 40 00    	call   *0x401040
407a21:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
407a27:	50                   	push   %eax
407a28:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
407a2e:	51                   	push   %ecx
407a2f:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
407a35:	52                   	push   %edx
407a36:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
407a3c:	50                   	push   %eax
407a3d:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407a40:	51                   	push   %ecx
407a41:	8d 55 94             	lea    -0x6c(%ebp),%edx
407a44:	52                   	push   %edx
407a45:	8d 45 a4             	lea    -0x5c(%ebp),%eax
407a48:	50                   	push   %eax
407a49:	6a 07                	push   $0x7
407a4b:	ff 15 28 10 40 00    	call   *0x401028
407a51:	83 c4 2c             	add    $0x2c,%esp
407a54:	c3                   	ret
407a55:	8b 35 1c 10 40 00    	mov    0x40101c,%esi
407a5b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
407a5e:	ff d6                	call   *%esi
407a60:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
407a63:	ff d6                	call   *%esi
407a65:	8d 4d c0             	lea    -0x40(%ebp),%ecx
407a68:	ff 15 cc 11 40 00    	call   *0x4011cc
407a6e:	c3                   	ret
407a6f:	8b 45 08             	mov    0x8(%ebp),%eax
407a72:	8b 08                	mov    (%eax),%ecx
407a74:	50                   	push   %eax
407a75:	ff 51 08             	call   *0x8(%ecx)
407a78:	8b 45 14             	mov    0x14(%ebp),%eax
407a7b:	8b 55 d4             	mov    -0x2c(%ebp),%edx
407a7e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
407a81:	89 10                	mov    %edx,(%eax)
407a83:	89 48 04             	mov    %ecx,0x4(%eax)
407a86:	8b 45 fc             	mov    -0x4(%ebp),%eax
407a89:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407a8c:	5f                   	pop    %edi
407a8d:	5e                   	pop    %esi
407a8e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407a95:	5b                   	pop    %ebx
407a96:	8b e5                	mov    %ebp,%esp
407a98:	5d                   	pop    %ebp
407a99:	c2 10 00             	ret    $0x10
407a9c:	90                   	nop
407a9d:	90                   	nop
407a9e:	90                   	nop
407a9f:	90                   	nop
407aa0:	55                   	push   %ebp
407aa1:	8b ec                	mov    %esp,%ebp
407aa3:	83 ec 0c             	sub    $0xc,%esp
407aa6:	68 26 13 40 00       	push   $0x401326
407aab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407ab1:	50                   	push   %eax
407ab2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
407ab9:	81 ec bc 00 00 00    	sub    $0xbc,%esp
407abf:	53                   	push   %ebx
407ac0:	56                   	push   %esi
407ac1:	57                   	push   %edi
407ac2:	89 65 f4             	mov    %esp,-0xc(%ebp)
407ac5:	c7 45 f8 10 12 40 00 	movl   $0x401210,-0x8(%ebp)
407acc:	33 ff                	xor    %edi,%edi
407ace:	89 7d fc             	mov    %edi,-0x4(%ebp)
407ad1:	8b 45 08             	mov    0x8(%ebp),%eax
407ad4:	8b 08                	mov    (%eax),%ecx
407ad6:	50                   	push   %eax
407ad7:	ff 51 04             	call   *0x4(%ecx)
407ada:	6a 08                	push   $0x8
407adc:	68 88 63 40 00       	push   $0x406388
407ae1:	8d 55 c4             	lea    -0x3c(%ebp),%edx
407ae4:	52                   	push   %edx
407ae5:	89 7d dc             	mov    %edi,-0x24(%ebp)
407ae8:	89 7d bc             	mov    %edi,-0x44(%ebp)
407aeb:	89 7d ac             	mov    %edi,-0x54(%ebp)
407aee:	89 7d a8             	mov    %edi,-0x58(%ebp)
407af1:	89 7d a0             	mov    %edi,-0x60(%ebp)
407af4:	89 7d 9c             	mov    %edi,-0x64(%ebp)
407af7:	89 7d 98             	mov    %edi,-0x68(%ebp)
407afa:	89 7d 94             	mov    %edi,-0x6c(%ebp)
407afd:	89 7d 84             	mov    %edi,-0x7c(%ebp)
407b00:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
407b06:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
407b0c:	89 bd 54 ff ff ff    	mov    %edi,-0xac(%ebp)
407b12:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
407b18:	ff 15 d8 10 40 00    	call   *0x4010d8
407b1e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
407b21:	8b 35 6c 11 40 00    	mov    0x40116c,%esi
407b27:	ba 4c 60 40 00       	mov    $0x40604c,%edx
407b2c:	ff d6                	call   *%esi
407b2e:	8b 45 d0             	mov    -0x30(%ebp),%eax
407b31:	ba 4c 60 40 00       	mov    $0x40604c,%edx
407b36:	8d 48 04             	lea    0x4(%eax),%ecx
407b39:	ff d6                	call   *%esi
407b3b:	8d 95 54 ff ff ff    	lea    -0xac(%ebp),%edx
407b41:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407b44:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
407b4a:	c7 85 54 ff ff ff 08 	movl   $0x8,-0xac(%ebp)
407b51:	00 00 00
407b54:	ff 15 98 11 40 00    	call   *0x401198
407b5a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
407b5d:	8d 45 84             	lea    -0x7c(%ebp),%eax
407b60:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
407b66:	50                   	push   %eax
407b67:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
407b6d:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
407b73:	51                   	push   %ecx
407b74:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
407b7a:	c7 85 64 ff ff ff 08 	movl   $0x6008,-0x9c(%ebp)
407b81:	60 00 00
407b84:	ff 15 24 11 40 00    	call   *0x401124
407b8a:	8b 1d b0 11 40 00    	mov    0x4011b0,%ebx
407b90:	8b d0                	mov    %eax,%edx
407b92:	8d 4d a0             	lea    -0x60(%ebp),%ecx
407b95:	ff d3                	call   *%ebx
407b97:	50                   	push   %eax
407b98:	68 4c 60 40 00       	push   $0x40604c
407b9d:	68 4c 60 40 00       	push   $0x40604c
407ba2:	ff 15 4c 10 40 00    	call   *0x40104c
407ba8:	8b d0                	mov    %eax,%edx
407baa:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
407bad:	ff d3                	call   *%ebx
407baf:	50                   	push   %eax
407bb0:	ff 15 d4 10 40 00    	call   *0x4010d4
407bb6:	8b f0                	mov    %eax,%esi
407bb8:	f7 de                	neg    %esi
407bba:	8d 55 9c             	lea    -0x64(%ebp),%edx
407bbd:	52                   	push   %edx
407bbe:	1b f6                	sbb    %esi,%esi
407bc0:	8d 45 a0             	lea    -0x60(%ebp),%eax
407bc3:	50                   	push   %eax
407bc4:	f7 de                	neg    %esi
407bc6:	6a 02                	push   $0x2
407bc8:	f7 de                	neg    %esi
407bca:	ff 15 78 11 40 00    	call   *0x401178
407bd0:	83 c4 0c             	add    $0xc,%esp
407bd3:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407bd6:	ff 15 1c 10 40 00    	call   *0x40101c
407bdc:	66 3b f7             	cmp    %di,%si
407bdf:	0f 84 e9 00 00 00    	je     0x407cce
407be5:	57                   	push   %edi
407be6:	68 20 63 40 00       	push   $0x406320
407beb:	8d 4d ac             	lea    -0x54(%ebp),%ecx
407bee:	51                   	push   %ecx
407bef:	8d 55 84             	lea    -0x7c(%ebp),%edx
407bf2:	52                   	push   %edx
407bf3:	ff 15 9c 11 40 00    	call   *0x40119c
407bf9:	a1 38 b3 40 00       	mov    0x40b338,%eax
407bfe:	83 c4 10             	add    $0x10,%esp
407c01:	3b c7                	cmp    %edi,%eax
407c03:	75 10                	jne    0x407c15
407c05:	68 38 b3 40 00       	push   $0x40b338
407c0a:	68 c4 60 40 00       	push   $0x4060c4
407c0f:	ff 15 4c 11 40 00    	call   *0x40114c
407c15:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
407c1b:	8b 06                	mov    (%esi),%eax
407c1d:	8d 4d 98             	lea    -0x68(%ebp),%ecx
407c20:	51                   	push   %ecx
407c21:	56                   	push   %esi
407c22:	ff 50 1c             	call   *0x1c(%eax)
407c25:	db e2                	fnclex
407c27:	3b c7                	cmp    %edi,%eax
407c29:	7d 0f                	jge    0x407c3a
407c2b:	6a 1c                	push   $0x1c
407c2d:	68 b4 60 40 00       	push   $0x4060b4
407c32:	56                   	push   %esi
407c33:	50                   	push   %eax
407c34:	ff 15 58 10 40 00    	call   *0x401058
407c3a:	8b 45 98             	mov    -0x68(%ebp),%eax
407c3d:	83 ec 10             	sub    $0x10,%esp
407c40:	b9 02 00 00 00       	mov    $0x2,%ecx
407c45:	8b d4                	mov    %esp,%edx
407c47:	89 0a                	mov    %ecx,(%edx)
407c49:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
407c4f:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
407c55:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
407c5b:	8b 30                	mov    (%eax),%esi
407c5d:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
407c63:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
407c69:	89 42 04             	mov    %eax,0x4(%edx)
407c6c:	89 7a 08             	mov    %edi,0x8(%edx)
407c6f:	89 4a 0c             	mov    %ecx,0xc(%edx)
407c72:	68 60 63 40 00       	push   $0x406360
407c77:	8d 55 84             	lea    -0x7c(%ebp),%edx
407c7a:	52                   	push   %edx
407c7b:	ff 15 f8 10 40 00    	call   *0x4010f8
407c81:	50                   	push   %eax
407c82:	8d 45 94             	lea    -0x6c(%ebp),%eax
407c85:	50                   	push   %eax
407c86:	ff 15 84 10 40 00    	call   *0x401084
407c8c:	8b ce                	mov    %esi,%ecx
407c8e:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
407c94:	50                   	push   %eax
407c95:	56                   	push   %esi
407c96:	ff 51 58             	call   *0x58(%ecx)
407c99:	db e2                	fnclex
407c9b:	3b c7                	cmp    %edi,%eax
407c9d:	7d 0f                	jge    0x407cae
407c9f:	6a 58                	push   $0x58
407ca1:	68 d8 62 40 00       	push   $0x4062d8
407ca6:	56                   	push   %esi
407ca7:	50                   	push   %eax
407ca8:	ff 15 58 10 40 00    	call   *0x401058
407cae:	8d 55 98             	lea    -0x68(%ebp),%edx
407cb1:	52                   	push   %edx
407cb2:	8d 45 94             	lea    -0x6c(%ebp),%eax
407cb5:	50                   	push   %eax
407cb6:	6a 02                	push   $0x2
407cb8:	ff 15 40 10 40 00    	call   *0x401040
407cbe:	8b 35 1c 10 40 00    	mov    0x40101c,%esi
407cc4:	83 c4 0c             	add    $0xc,%esp
407cc7:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407cca:	ff d6                	call   *%esi
407ccc:	eb 06                	jmp    0x407cd4
407cce:	8b 35 1c 10 40 00    	mov    0x40101c,%esi
407cd4:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407cd7:	51                   	push   %ecx
407cd8:	ff 15 8c 11 40 00    	call   *0x40118c
407cde:	6a 01                	push   $0x1
407ce0:	8d 55 84             	lea    -0x7c(%ebp),%edx
407ce3:	52                   	push   %edx
407ce4:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
407cea:	50                   	push   %eax
407ceb:	ff 15 50 10 40 00    	call   *0x401050
407cf1:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
407cf7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
407cfa:	ff 15 10 10 40 00    	call   *0x401010
407d00:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407d03:	ff d6                	call   *%esi
407d05:	57                   	push   %edi
407d06:	57                   	push   %edi
407d07:	6a 01                	push   $0x1
407d09:	ff 15 a4 10 40 00    	call   *0x4010a4
407d0f:	8b d0                	mov    %eax,%edx
407d11:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407d14:	ff d3                	call   *%ebx
407d16:	68 74 63 40 00       	push   $0x406374
407d1b:	68 7c 63 40 00       	push   $0x40637c
407d20:	ff 15 4c 10 40 00    	call   *0x40104c
407d26:	8b d0                	mov    %eax,%edx
407d28:	8d 4d a0             	lea    -0x60(%ebp),%ecx
407d2b:	ff d3                	call   *%ebx
407d2d:	50                   	push   %eax
407d2e:	ff 15 74 11 40 00    	call   *0x401174
407d34:	50                   	push   %eax
407d35:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407d38:	51                   	push   %ecx
407d39:	ff 15 34 10 40 00    	call   *0x401034
407d3f:	8d 55 84             	lea    -0x7c(%ebp),%edx
407d42:	52                   	push   %edx
407d43:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
407d49:	50                   	push   %eax
407d4a:	c7 85 6c ff ff ff 54 	movl   $0x406054,-0x94(%ebp)
407d51:	60 40 00
407d54:	c7 85 64 ff ff ff 08 	movl   $0x8008,-0x9c(%ebp)
407d5b:	80 00 00
407d5e:	ff 15 88 11 40 00    	call   *0x401188
407d64:	8d 4d a0             	lea    -0x60(%ebp),%ecx
407d67:	66 89 85 4c ff ff ff 	mov    %ax,-0xb4(%ebp)
407d6e:	ff 15 cc 11 40 00    	call   *0x4011cc
407d74:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
407d77:	ff d6                	call   *%esi
407d79:	66 39 bd 4c ff ff ff 	cmp    %di,-0xb4(%ebp)
407d80:	74 48                	je     0x407dca
407d82:	8b 75 08             	mov    0x8(%ebp),%esi
407d85:	dd 05 08 12 40 00    	fldl   0x401208
407d8b:	8b 0e                	mov    (%esi),%ecx
407d8d:	df e0                	fnstsw %ax
407d8f:	a8 0d                	test   $0xd,%al
407d91:	0f 85 54 01 00 00    	jne    0x407eeb
407d97:	d9 9d 30 ff ff ff    	fstps  -0xd0(%ebp)
407d9d:	d9 85 30 ff ff ff    	flds   -0xd0(%ebp)
407da3:	51                   	push   %ecx
407da4:	d9 1c 24             	fstps  (%esp)
407da7:	56                   	push   %esi
407da8:	ff 91 84 00 00 00    	call   *0x84(%ecx)
407dae:	db e2                	fnclex
407db0:	3b c7                	cmp    %edi,%eax
407db2:	7d 16                	jge    0x407dca
407db4:	68 84 00 00 00       	push   $0x84
407db9:	68 ec 5e 40 00       	push   $0x405eec
407dbe:	56                   	push   %esi
407dbf:	8b 35 58 10 40 00    	mov    0x401058,%esi
407dc5:	50                   	push   %eax
407dc6:	ff d6                	call   *%esi
407dc8:	eb 06                	jmp    0x407dd0
407dca:	8b 35 58 10 40 00    	mov    0x401058,%esi
407dd0:	ff 15 94 11 40 00    	call   *0x401194
407dd6:	8b d0                	mov    %eax,%edx
407dd8:	8d 4d bc             	lea    -0x44(%ebp),%ecx
407ddb:	ff d3                	call   *%ebx
407ddd:	39 3d 38 b3 40 00    	cmp    %edi,0x40b338
407de3:	75 10                	jne    0x407df5
407de5:	68 38 b3 40 00       	push   $0x40b338
407dea:	68 c4 60 40 00       	push   $0x4060c4
407def:	ff 15 4c 11 40 00    	call   *0x40114c
407df5:	8b 1d 38 b3 40 00    	mov    0x40b338,%ebx
407dfb:	8b 13                	mov    (%ebx),%edx
407dfd:	8d 45 98             	lea    -0x68(%ebp),%eax
407e00:	50                   	push   %eax
407e01:	53                   	push   %ebx
407e02:	ff 52 14             	call   *0x14(%edx)
407e05:	db e2                	fnclex
407e07:	3b c7                	cmp    %edi,%eax
407e09:	7d 0b                	jge    0x407e16
407e0b:	6a 14                	push   $0x14
407e0d:	68 b4 60 40 00       	push   $0x4060b4
407e12:	53                   	push   %ebx