407e13:	50                   	push   %eax
407e14:	ff d6                	call   *%esi
407e16:	8b 45 98             	mov    -0x68(%ebp),%eax
407e19:	8b 08                	mov    (%eax),%ecx
407e1b:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
407e21:	52                   	push   %edx
407e22:	50                   	push   %eax
407e23:	8b d8                	mov    %eax,%ebx
407e25:	ff 91 18 01 00 00    	call   *0x118(%ecx)
407e2b:	db e2                	fnclex
407e2d:	3b c7                	cmp    %edi,%eax
407e2f:	7d 0e                	jge    0x407e3f
407e31:	68 18 01 00 00       	push   $0x118
407e36:	68 d4 60 40 00       	push   $0x4060d4
407e3b:	53                   	push   %ebx
407e3c:	50                   	push   %eax
407e3d:	ff d6                	call   *%esi
407e3f:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
407e45:	ff 15 e8 10 40 00    	call   *0x4010e8
407e4b:	8d 4d 98             	lea    -0x68(%ebp),%ecx
407e4e:	ff 15 d0 11 40 00    	call   *0x4011d0
407e54:	9b                   	fwait
407e55:	68 cc 7e 40 00       	push   $0x407ecc
407e5a:	eb 37                	jmp    0x407e93
407e5c:	8d 45 9c             	lea    -0x64(%ebp),%eax
407e5f:	50                   	push   %eax
407e60:	8d 4d a0             	lea    -0x60(%ebp),%ecx
407e63:	51                   	push   %ecx
407e64:	6a 02                	push   $0x2
407e66:	ff 15 78 11 40 00    	call   *0x401178
407e6c:	8d 55 94             	lea    -0x6c(%ebp),%edx
407e6f:	52                   	push   %edx
407e70:	8d 45 98             	lea    -0x68(%ebp),%eax
407e73:	50                   	push   %eax
407e74:	6a 02                	push   $0x2
407e76:	ff 15 40 10 40 00    	call   *0x401040
407e7c:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
407e82:	51                   	push   %ecx
407e83:	8d 55 84             	lea    -0x7c(%ebp),%edx
407e86:	52                   	push   %edx
407e87:	6a 02                	push   $0x2
407e89:	ff 15 28 10 40 00    	call   *0x401028
407e8f:	83 c4 24             	add    $0x24,%esp
407e92:	c3                   	ret
407e93:	8b 35 1c 10 40 00    	mov    0x40101c,%esi
407e99:	8d 4d dc             	lea    -0x24(%ebp),%ecx
407e9c:	ff d6                	call   *%esi
407e9e:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
407ea4:	51                   	push   %ecx
407ea5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
407ea8:	6a 00                	push   $0x0
407eaa:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
407eb0:	ff 15 70 10 40 00    	call   *0x401070
407eb6:	8b 3d cc 11 40 00    	mov    0x4011cc,%edi
407ebc:	8d 4d bc             	lea    -0x44(%ebp),%ecx
407ebf:	ff d7                	call   *%edi
407ec1:	8d 4d ac             	lea    -0x54(%ebp),%ecx
407ec4:	ff d6                	call   *%esi
407ec6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407ec9:	ff d7                	call   *%edi
407ecb:	c3                   	ret
407ecc:	8b 45 08             	mov    0x8(%ebp),%eax
407ecf:	8b 10                	mov    (%eax),%edx
407ed1:	50                   	push   %eax
407ed2:	ff 52 08             	call   *0x8(%edx)
407ed5:	8b 45 fc             	mov    -0x4(%ebp),%eax
407ed8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407edb:	5f                   	pop    %edi
407edc:	5e                   	pop    %esi
407edd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407ee4:	5b                   	pop    %ebx
407ee5:	8b e5                	mov    %ebp,%esp
407ee7:	5d                   	pop    %ebp
407ee8:	c2 08 00             	ret    $0x8
407eeb:	e9 3c 94 ff ff       	jmp    0x40132c
407ef0:	55                   	push   %ebp
407ef1:	8b ec                	mov    %esp,%ebp
407ef3:	83 ec 08             	sub    $0x8,%esp
407ef6:	68 26 13 40 00       	push   $0x401326
407efb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407f01:	50                   	push   %eax
407f02:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
407f09:	81 ec 90 00 00 00    	sub    $0x90,%esp
407f0f:	53                   	push   %ebx
407f10:	56                   	push   %esi
407f11:	57                   	push   %edi
407f12:	89 65 f8             	mov    %esp,-0x8(%ebp)
407f15:	c7 45 fc 50 12 40 00 	movl   $0x401250,-0x4(%ebp)
407f1c:	8b 55 0c             	mov    0xc(%ebp),%edx
407f1f:	8b 35 6c 11 40 00    	mov    0x40116c,%esi
407f25:	33 db                	xor    %ebx,%ebx
407f27:	8d 4d d0             	lea    -0x30(%ebp),%ecx
407f2a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
407f2d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
407f30:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
407f33:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
407f36:	89 5d d0             	mov    %ebx,-0x30(%ebp)
407f39:	89 5d cc             	mov    %ebx,-0x34(%ebp)
407f3c:	89 5d c8             	mov    %ebx,-0x38(%ebp)
407f3f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
407f42:	89 5d a8             	mov    %ebx,-0x58(%ebp)
407f45:	89 5d 98             	mov    %ebx,-0x68(%ebp)
407f48:	89 5d 88             	mov    %ebx,-0x78(%ebp)
407f4b:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
407f51:	ff d6                	call   *%esi
407f53:	8b 55 20             	mov    0x20(%ebp),%edx
407f56:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407f59:	ff d6                	call   *%esi
407f5b:	68 a4 63 40 00       	push   $0x4063a4
407f60:	ff 15 e0 10 40 00    	call   *0x4010e0
407f66:	d8 1d 48 12 40 00    	fcomps 0x401248
407f6c:	8b 7d 08             	mov    0x8(%ebp),%edi
407f6f:	df e0                	fnstsw %ax
407f71:	f6 c4 40             	test   $0x40,%ah
407f74:	0f 85 8e 00 00 00    	jne    0x408008
407f7a:	dd 05 40 12 40 00    	fldl   0x401240
407f80:	8b 37                	mov    (%edi),%esi
407f82:	83 3d 00 b0 40 00 00 	cmpl   $0x0,0x40b000
407f89:	75 08                	jne    0x407f93
407f8b:	dc 35 38 12 40 00    	fdivl  0x401238
407f91:	eb 11                	jmp    0x407fa4
407f93:	ff 35 3c 12 40 00    	push   0x40123c
407f99:	ff 35 38 12 40 00    	push   0x401238
407f9f:	e8 a0 93 ff ff       	call   0x401344
407fa4:	68 00 00 ae 42       	push   $0x42ae0000
407fa9:	51                   	push   %ecx
407faa:	df e0                	fnstsw %ax
407fac:	a8 0d                	test   $0xd,%al
407fae:	0f 85 5c 03 00 00    	jne    0x408310
407fb4:	d9 9d 68 ff ff ff    	fstps  -0x98(%ebp)
407fba:	d9 85 68 ff ff ff    	flds   -0x98(%ebp)
407fc0:	d9 1c 24             	fstps  (%esp)
407fc3:	68 00 00 e6 42       	push   $0x42e60000
407fc8:	dd 05 30 12 40 00    	fldl   0x401230
407fce:	ff 15 a0 11 40 00    	call   *0x4011a0
407fd4:	50                   	push   %eax
407fd5:	68 00 00 48 42       	push   $0x42480000
407fda:	68 04 1a aa 4a       	push   $0x4aaa1a04
407fdf:	68 dc 62 ab 4a       	push   $0x4aab62dc
407fe4:	68 c2 01 00 00       	push   $0x1c2
407fe9:	57                   	push   %edi
407fea:	ff 96 c0 02 00 00    	call   *0x2c0(%esi)
407ff0:	db e2                	fnclex
407ff2:	3b c3                	cmp    %ebx,%eax
407ff4:	7d 12                	jge    0x408008
407ff6:	68 c0 02 00 00       	push   $0x2c0
407ffb:	68 ec 5e 40 00       	push   $0x405eec
408000:	57                   	push   %edi
408001:	50                   	push   %eax
408002:	ff 15 58 10 40 00    	call   *0x401058
408008:	8d 55 88             	lea    -0x78(%ebp),%edx
40800b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40800e:	c7 45 90 84 62 40 00 	movl   $0x406284,-0x70(%ebp)
408015:	c7 45 88 08 00 00 00 	movl   $0x8,-0x78(%ebp)
40801c:	ff 15 98 11 40 00    	call   *0x401198
408022:	8d 45 a8             	lea    -0x58(%ebp),%eax
408025:	50                   	push   %eax
408026:	8d 4d b8             	lea    -0x48(%ebp),%ecx
408029:	51                   	push   %ecx
40802a:	ff 15 f4 10 40 00    	call   *0x4010f4
408030:	3b c3                	cmp    %ebx,%eax
408032:	7d 07                	jge    0x40803b
408034:	50                   	push   %eax
408035:	ff 15 14 10 40 00    	call   *0x401014
40803b:	8d 55 a8             	lea    -0x58(%ebp),%edx
40803e:	52                   	push   %edx
40803f:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
408045:	50                   	push   %eax
408046:	c7 45 80 02 00 00 00 	movl   $0x2,-0x80(%ebp)
40804d:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
408054:	80 00 00
408057:	ff 15 88 11 40 00    	call   *0x401188
40805d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
408060:	51                   	push   %ecx
408061:	8d 55 b8             	lea    -0x48(%ebp),%edx
408064:	52                   	push   %edx
408065:	6a 02                	push   $0x2
408067:	66 8b f0             	mov    %ax,%si
40806a:	ff 15 28 10 40 00    	call   *0x401028
408070:	83 c4 0c             	add    $0xc,%esp
408073:	66 3b f3             	cmp    %bx,%si
408076:	74 5a                	je     0x4080d2
408078:	39 1d 38 b3 40 00    	cmp    %ebx,0x40b338
40807e:	75 10                	jne    0x408090
408080:	68 38 b3 40 00       	push   $0x40b338
408085:	68 c4 60 40 00       	push   $0x4060c4
40808a:	ff 15 4c 11 40 00    	call   *0x40114c
408090:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
408096:	8b 16                	mov    (%esi),%edx
408098:	57                   	push   %edi
408099:	8d 45 c8             	lea    -0x38(%ebp),%eax
40809c:	50                   	push   %eax
40809d:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
4080a3:	ff 15 90 10 40 00    	call   *0x401090
4080a9:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
4080af:	50                   	push   %eax
4080b0:	56                   	push   %esi
4080b1:	ff 51 10             	call   *0x10(%ecx)
4080b4:	db e2                	fnclex
4080b6:	3b c3                	cmp    %ebx,%eax
4080b8:	7d 0f                	jge    0x4080c9
4080ba:	6a 10                	push   $0x10
4080bc:	68 b4 60 40 00       	push   $0x4060b4
4080c1:	56                   	push   %esi
4080c2:	50                   	push   %eax
4080c3:	ff 15 58 10 40 00    	call   *0x401058
4080c9:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4080cc:	ff 15 d0 11 40 00    	call   *0x4011d0
4080d2:	8b 3d 4c 10 40 00    	mov    0x40104c,%edi
4080d8:	6a 02                	push   $0x2
4080da:	68 6c 60 40 00       	push   $0x40606c
4080df:	68 78 60 40 00       	push   $0x406078
4080e4:	ff d7                	call   *%edi
4080e6:	8b 1d b0 11 40 00    	mov    0x4011b0,%ebx
4080ec:	8b d0                	mov    %eax,%edx
4080ee:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4080f1:	ff d3                	call   *%ebx
4080f3:	50                   	push   %eax
4080f4:	68 78 60 40 00       	push   $0x406078
4080f9:	6a 00                	push   $0x0
4080fb:	ff 15 50 11 40 00    	call   *0x401150
408101:	33 d2                	xor    %edx,%edx
408103:	83 f8 03             	cmp    $0x3,%eax
408106:	0f 95 c2             	setne  %dl
408109:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40810c:	f7 da                	neg    %edx
40810e:	66 8b f2             	mov    %dx,%si
408111:	ff 15 cc 11 40 00    	call   *0x4011cc
408117:	66 85 f6             	test   %si,%si
40811a:	74 21                	je     0x40813d
40811c:	68 9e 00 00 00       	push   $0x9e
408121:	ff 15 04 11 40 00    	call   *0x401104
408127:	8d 55 88             	lea    -0x78(%ebp),%edx
40812a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40812d:	89 45 90             	mov    %eax,-0x70(%ebp)
408130:	c7 45 88 03 00 00 00 	movl   $0x3,-0x78(%ebp)
408137:	ff 15 10 10 40 00    	call   *0x401010
40813d:	b8 0a 00 00 00       	mov    $0xa,%eax
408142:	b9 04 00 02 80       	mov    $0x80020004,%ecx
408147:	89 45 a8             	mov    %eax,-0x58(%ebp)
40814a:	89 45 b8             	mov    %eax,-0x48(%ebp)
40814d:	8d 45 a8             	lea    -0x58(%ebp),%eax
408150:	50                   	push   %eax
408151:	89 4d b0             	mov    %ecx,-0x50(%ebp)
408154:	89 4d c0             	mov    %ecx,-0x40(%ebp)
408157:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40815a:	51                   	push   %ecx
40815b:	68 00 00 f0 3f       	push   $0x3ff00000
408160:	6a 00                	push   $0x0
408162:	68 00 00 f0 3f       	push   $0x3ff00000
408167:	6a 00                	push   $0x0
408169:	68 00 00 f0 3f       	push   $0x3ff00000
40816e:	6a 00                	push   $0x0
408170:	68 00 00 f0 3f       	push   $0x3ff00000
408175:	6a 00                	push   $0x0
408177:	ff 15 00 11 40 00    	call   *0x401100
40817d:	ff 15 a8 10 40 00    	call   *0x4010a8
408183:	dc 1d 28 12 40 00    	fcompl 0x401228
408189:	df e0                	fnstsw %ax
40818b:	f6 c4 40             	test   $0x40,%ah
40818e:	75 07                	jne    0x408197
408190:	be 01 00 00 00       	mov    $0x1,%esi
408195:	eb 02                	jmp    0x408199
408197:	33 f6                	xor    %esi,%esi
408199:	8d 55 a8             	lea    -0x58(%ebp),%edx
40819c:	52                   	push   %edx
40819d:	8d 45 b8             	lea    -0x48(%ebp),%eax
4081a0:	50                   	push   %eax
4081a1:	6a 02                	push   $0x2
4081a3:	ff 15 28 10 40 00    	call   *0x401028
4081a9:	f7 de                	neg    %esi
4081ab:	83 c4 0c             	add    $0xc,%esp
4081ae:	66 85 f6             	test   %si,%si
4081b1:	74 3b                	je     0x4081ee
4081b3:	8d 55 88             	lea    -0x78(%ebp),%edx
4081b6:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081b9:	c7 45 90 ac 63 40 00 	movl   $0x4063ac,-0x70(%ebp)
4081c0:	c7 45 88 08 00 00 00 	movl   $0x8,-0x78(%ebp)
4081c7:	ff 15 98 11 40 00    	call   *0x401198
4081cd:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081d0:	51                   	push   %ecx
4081d1:	8d 55 a8             	lea    -0x58(%ebp),%edx
4081d4:	52                   	push   %edx
4081d5:	ff 15 68 10 40 00    	call   *0x401068
4081db:	8d 45 a8             	lea    -0x58(%ebp),%eax
4081de:	50                   	push   %eax
4081df:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4081e2:	51                   	push   %ecx
4081e3:	6a 02                	push   $0x2
4081e5:	ff 15 28 10 40 00    	call   *0x401028
4081eb:	83 c4 0c             	add    $0xc,%esp
4081ee:	6a 00                	push   $0x0
4081f0:	6a 00                	push   $0x0
4081f2:	6a 01                	push   $0x1
4081f4:	ff 15 a4 10 40 00    	call   *0x4010a4
4081fa:	8b d0                	mov    %eax,%edx
4081fc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4081ff:	ff d3                	call   *%ebx
408201:	68 4c 60 40 00       	push   $0x40604c
408206:	68 4c 60 40 00       	push   $0x40604c
40820b:	ff d7                	call   *%edi
40820d:	6a 02                	push   $0x2
40820f:	8d 55 b8             	lea    -0x48(%ebp),%edx
408212:	89 45 c0             	mov    %eax,-0x40(%ebp)
408215:	52                   	push   %edx
408216:	8d 45 a8             	lea    -0x58(%ebp),%eax
408219:	50                   	push   %eax
40821a:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
408221:	ff 15 38 10 40 00    	call   *0x401038
408227:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40822a:	51                   	push   %ecx
40822b:	8d 55 88             	lea    -0x78(%ebp),%edx
40822e:	52                   	push   %edx
40822f:	c7 45 90 4c 60 40 00 	movl   $0x40604c,-0x70(%ebp)
408236:	c7 45 88 08 80 00 00 	movl   $0x8008,-0x78(%ebp)
40823d:	ff 15 88 11 40 00    	call   *0x401188
408243:	66 8b f0             	mov    %ax,%si
408246:	8d 45 a8             	lea    -0x58(%ebp),%eax
408249:	50                   	push   %eax
40824a:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40824d:	51                   	push   %ecx
40824e:	6a 02                	push   $0x2
408250:	ff 15 28 10 40 00    	call   *0x401028
408256:	83 c4 0c             	add    $0xc,%esp
408259:	66 85 f6             	test   %si,%si
40825c:	74 44                	je     0x4082a2
40825e:	dd 05 20 12 40 00    	fldl   0x401220
408264:	8b 75 08             	mov    0x8(%ebp),%esi
408267:	8b 16                	mov    (%esi),%edx
408269:	df e0                	fnstsw %ax
40826b:	a8 0d                	test   $0xd,%al
40826d:	0f 85 9d 00 00 00    	jne    0x408310
408273:	d9 9d 60 ff ff ff    	fstps  -0xa0(%ebp)
408279:	d9 85 60 ff ff ff    	flds   -0xa0(%ebp)
40827f:	51                   	push   %ecx
408280:	d9 1c 24             	fstps  (%esp)
408283:	56                   	push   %esi
408284:	ff 92 84 00 00 00    	call   *0x84(%edx)
40828a:	db e2                	fnclex
40828c:	85 c0                	test   %eax,%eax
40828e:	7d 12                	jge    0x4082a2
408290:	68 84 00 00 00       	push   $0x84
408295:	68 ec 5e 40 00       	push   $0x405eec
40829a:	56                   	push   %esi
40829b:	50                   	push   %eax
40829c:	ff 15 58 10 40 00    	call   *0x401058
4082a2:	9b                   	fwait
4082a3:	68 f3 82 40 00       	push   $0x4082f3
4082a8:	eb 2a                	jmp    0x4082d4
4082aa:	8d 4d cc             	lea    -0x34(%ebp),%ecx