40ddd3:	68 00 00 f0 3f       	push   $0x3ff00000
40ddd8:	53                   	push   %ebx
40ddd9:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40dddc:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40dddf:	ff 15 e0 10 40 00    	call   *0x4010e0
40dde5:	ff 15 9c 10 40 00    	call   *0x40109c
40ddeb:	dc 1d 10 12 40 00    	fcompl 0x401210
40ddf1:	df e0                	fnstsw %ax
40ddf3:	f6 c4 40             	test   $0x40,%ah
40ddf6:	75 07                	jne    0x40ddff
40ddf8:	be 01 00 00 00       	mov    $0x1,%esi
40ddfd:	eb 02                	jmp    0x40de01
40ddff:	33 f6                	xor    %esi,%esi
40de01:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40de04:	51                   	push   %ecx
40de05:	8d 55 cc             	lea    -0x34(%ebp),%edx
40de08:	52                   	push   %edx
40de09:	6a 02                	push   $0x2
40de0b:	ff 15 28 10 40 00    	call   *0x401028
40de11:	f7 de                	neg    %esi
40de13:	83 c4 0c             	add    $0xc,%esp
40de16:	66 85 f6             	test   %si,%si
40de19:	74 75                	je     0x40de90
40de1b:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40de21:	75 10                	jne    0x40de33
40de23:	68 38 03 41 00       	push   $0x410338
40de28:	68 a8 7c 40 00       	push   $0x407ca8
40de2d:	ff 15 2c 11 40 00    	call   *0x40112c
40de33:	8b 35 38 03 41 00    	mov    0x410338,%esi
40de39:	8b 06                	mov    (%esi),%eax
40de3b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40de3e:	51                   	push   %ecx
40de3f:	56                   	push   %esi
40de40:	ff 50 4c             	call   *0x4c(%eax)
40de43:	db e2                	fnclex
40de45:	3b c3                	cmp    %ebx,%eax
40de47:	7d 0b                	jge    0x40de54
40de49:	6a 4c                	push   $0x4c
40de4b:	68 98 7c 40 00       	push   $0x407c98
40de50:	56                   	push   %esi
40de51:	50                   	push   %eax
40de52:	ff d7                	call   *%edi
40de54:	8b 45 dc             	mov    -0x24(%ebp),%eax
40de57:	8b 10                	mov    (%eax),%edx
40de59:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40de5c:	51                   	push   %ecx
40de5d:	68 18 84 40 00       	push   $0x408418
40de62:	68 fc 83 40 00       	push   $0x4083fc
40de67:	50                   	push   %eax
40de68:	8b f0                	mov    %eax,%esi
40de6a:	ff 52 24             	call   *0x24(%edx)
40de6d:	db e2                	fnclex
40de6f:	3b c3                	cmp    %ebx,%eax
40de71:	7d 0b                	jge    0x40de7e
40de73:	6a 24                	push   $0x24
40de75:	68 20 7e 40 00       	push   $0x407e20
40de7a:	56                   	push   %esi
40de7b:	50                   	push   %eax
40de7c:	ff d7                	call   *%edi
40de7e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40de81:	ff 15 a8 11 40 00    	call   *0x4011a8
40de87:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40de8a:	ff 15 ac 11 40 00    	call   *0x4011ac
40de90:	b8 0a 00 00 00       	mov    $0xa,%eax
40de95:	8d 55 bc             	lea    -0x44(%ebp),%edx
40de98:	52                   	push   %edx
40de99:	89 45 bc             	mov    %eax,-0x44(%ebp)
40de9c:	89 45 cc             	mov    %eax,-0x34(%ebp)
40de9f:	8d 45 cc             	lea    -0x34(%ebp),%eax
40dea2:	50                   	push   %eax
40dea3:	68 00 00 f0 3f       	push   $0x3ff00000
40dea8:	53                   	push   %ebx
40dea9:	68 00 00 f0 3f       	push   $0x3ff00000
40deae:	53                   	push   %ebx
40deaf:	68 00 00 f0 3f       	push   $0x3ff00000
40deb4:	53                   	push   %ebx
40deb5:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40deba:	68 00 00 f0 3f       	push   $0x3ff00000
40debf:	53                   	push   %ebx
40dec0:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40dec3:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40dec6:	ff 15 e0 10 40 00    	call   *0x4010e0
40decc:	ff 15 9c 10 40 00    	call   *0x40109c
40ded2:	dc 1d 10 12 40 00    	fcompl 0x401210
40ded8:	df e0                	fnstsw %ax
40deda:	f6 c4 40             	test   $0x40,%ah
40dedd:	75 07                	jne    0x40dee6
40dedf:	be 01 00 00 00       	mov    $0x1,%esi
40dee4:	eb 02                	jmp    0x40dee8
40dee6:	33 f6                	xor    %esi,%esi
40dee8:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40deeb:	51                   	push   %ecx
40deec:	8d 55 cc             	lea    -0x34(%ebp),%edx
40deef:	52                   	push   %edx
40def0:	6a 02                	push   $0x2
40def2:	ff 15 28 10 40 00    	call   *0x401028
40def8:	f7 de                	neg    %esi
40defa:	83 c4 0c             	add    $0xc,%esp
40defd:	66 85 f6             	test   %si,%si
40df00:	74 75                	je     0x40df77
40df02:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40df08:	75 10                	jne    0x40df1a
40df0a:	68 38 03 41 00       	push   $0x410338
40df0f:	68 a8 7c 40 00       	push   $0x407ca8
40df14:	ff 15 2c 11 40 00    	call   *0x40112c
40df1a:	8b 35 38 03 41 00    	mov    0x410338,%esi
40df20:	8b 06                	mov    (%esi),%eax
40df22:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40df25:	51                   	push   %ecx
40df26:	56                   	push   %esi
40df27:	ff 50 4c             	call   *0x4c(%eax)
40df2a:	db e2                	fnclex
40df2c:	3b c3                	cmp    %ebx,%eax
40df2e:	7d 0b                	jge    0x40df3b
40df30:	6a 4c                	push   $0x4c
40df32:	68 98 7c 40 00       	push   $0x407c98
40df37:	56                   	push   %esi
40df38:	50                   	push   %eax
40df39:	ff d7                	call   *%edi
40df3b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40df3e:	8b 10                	mov    (%eax),%edx
40df40:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40df43:	51                   	push   %ecx
40df44:	68 54 84 40 00       	push   $0x408454
40df49:	68 34 84 40 00       	push   $0x408434
40df4e:	50                   	push   %eax
40df4f:	8b f0                	mov    %eax,%esi
40df51:	ff 52 24             	call   *0x24(%edx)
40df54:	db e2                	fnclex
40df56:	3b c3                	cmp    %ebx,%eax
40df58:	7d 0b                	jge    0x40df65
40df5a:	6a 24                	push   $0x24
40df5c:	68 20 7e 40 00       	push   $0x407e20
40df61:	56                   	push   %esi
40df62:	50                   	push   %eax
40df63:	ff d7                	call   *%edi
40df65:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40df68:	ff 15 a8 11 40 00    	call   *0x4011a8
40df6e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40df71:	ff 15 ac 11 40 00    	call   *0x4011ac
40df77:	b8 0a 00 00 00       	mov    $0xa,%eax
40df7c:	8d 55 bc             	lea    -0x44(%ebp),%edx
40df7f:	52                   	push   %edx
40df80:	89 45 bc             	mov    %eax,-0x44(%ebp)
40df83:	89 45 cc             	mov    %eax,-0x34(%ebp)
40df86:	8d 45 cc             	lea    -0x34(%ebp),%eax
40df89:	50                   	push   %eax
40df8a:	68 00 00 f0 3f       	push   $0x3ff00000
40df8f:	53                   	push   %ebx
40df90:	68 00 00 f0 3f       	push   $0x3ff00000
40df95:	53                   	push   %ebx
40df96:	68 00 00 f0 3f       	push   $0x3ff00000
40df9b:	53                   	push   %ebx
40df9c:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40dfa1:	68 00 00 f0 3f       	push   $0x3ff00000
40dfa6:	53                   	push   %ebx
40dfa7:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40dfaa:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40dfad:	ff 15 e0 10 40 00    	call   *0x4010e0
40dfb3:	ff 15 9c 10 40 00    	call   *0x40109c
40dfb9:	dc 1d 10 12 40 00    	fcompl 0x401210
40dfbf:	df e0                	fnstsw %ax
40dfc1:	f6 c4 40             	test   $0x40,%ah
40dfc4:	75 07                	jne    0x40dfcd
40dfc6:	be 01 00 00 00       	mov    $0x1,%esi
40dfcb:	eb 02                	jmp    0x40dfcf
40dfcd:	33 f6                	xor    %esi,%esi
40dfcf:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40dfd2:	51                   	push   %ecx
40dfd3:	8d 55 cc             	lea    -0x34(%ebp),%edx
40dfd6:	52                   	push   %edx
40dfd7:	6a 02                	push   $0x2
40dfd9:	ff 15 28 10 40 00    	call   *0x401028
40dfdf:	f7 de                	neg    %esi
40dfe1:	83 c4 0c             	add    $0xc,%esp
40dfe4:	66 85 f6             	test   %si,%si
40dfe7:	74 75                	je     0x40e05e
40dfe9:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40dfef:	75 10                	jne    0x40e001
40dff1:	68 38 03 41 00       	push   $0x410338
40dff6:	68 a8 7c 40 00       	push   $0x407ca8
40dffb:	ff 15 2c 11 40 00    	call   *0x40112c
40e001:	8b 35 38 03 41 00    	mov    0x410338,%esi
40e007:	8b 06                	mov    (%esi),%eax
40e009:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e00c:	51                   	push   %ecx
40e00d:	56                   	push   %esi
40e00e:	ff 50 4c             	call   *0x4c(%eax)
40e011:	db e2                	fnclex
40e013:	3b c3                	cmp    %ebx,%eax
40e015:	7d 0b                	jge    0x40e022
40e017:	6a 4c                	push   $0x4c
40e019:	68 98 7c 40 00       	push   $0x407c98
40e01e:	56                   	push   %esi
40e01f:	50                   	push   %eax
40e020:	ff d7                	call   *%edi
40e022:	8b 45 dc             	mov    -0x24(%ebp),%eax
40e025:	8b 10                	mov    (%eax),%edx
40e027:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40e02a:	51                   	push   %ecx
40e02b:	68 9c 84 40 00       	push   $0x40849c
40e030:	68 74 84 40 00       	push   $0x408474
40e035:	50                   	push   %eax
40e036:	8b f0                	mov    %eax,%esi
40e038:	ff 52 24             	call   *0x24(%edx)
40e03b:	db e2                	fnclex
40e03d:	3b c3                	cmp    %ebx,%eax
40e03f:	7d 0b                	jge    0x40e04c
40e041:	6a 24                	push   $0x24
40e043:	68 20 7e 40 00       	push   $0x407e20
40e048:	56                   	push   %esi
40e049:	50                   	push   %eax
40e04a:	ff d7                	call   *%edi
40e04c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40e04f:	ff 15 a8 11 40 00    	call   *0x4011a8
40e055:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e058:	ff 15 ac 11 40 00    	call   *0x4011ac
40e05e:	b8 0a 00 00 00       	mov    $0xa,%eax
40e063:	8d 55 bc             	lea    -0x44(%ebp),%edx
40e066:	52                   	push   %edx
40e067:	89 45 bc             	mov    %eax,-0x44(%ebp)
40e06a:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e06d:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e070:	50                   	push   %eax
40e071:	68 00 00 f0 3f       	push   $0x3ff00000
40e076:	53                   	push   %ebx
40e077:	68 00 00 f0 3f       	push   $0x3ff00000
40e07c:	53                   	push   %ebx
40e07d:	68 00 00 f0 3f       	push   $0x3ff00000
40e082:	53                   	push   %ebx
40e083:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40e088:	68 00 00 f0 3f       	push   $0x3ff00000
40e08d:	53                   	push   %ebx
40e08e:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40e091:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40e094:	ff 15 e0 10 40 00    	call   *0x4010e0
40e09a:	ff 15 9c 10 40 00    	call   *0x40109c
40e0a0:	dc 1d 10 12 40 00    	fcompl 0x401210
40e0a6:	df e0                	fnstsw %ax
40e0a8:	f6 c4 40             	test   $0x40,%ah
40e0ab:	75 07                	jne    0x40e0b4
40e0ad:	b8 01 00 00 00       	mov    $0x1,%eax
40e0b2:	eb 02                	jmp    0x40e0b6
40e0b4:	33 c0                	xor    %eax,%eax
40e0b6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40e0b9:	51                   	push   %ecx
40e0ba:	8d 55 cc             	lea    -0x34(%ebp),%edx
40e0bd:	52                   	push   %edx
40e0be:	f7 d8                	neg    %eax
40e0c0:	6a 02                	push   $0x2
40e0c2:	66 8b f0             	mov    %ax,%si
40e0c5:	ff 15 28 10 40 00    	call   *0x401028
40e0cb:	83 c4 0c             	add    $0xc,%esp
40e0ce:	66 3b f3             	cmp    %bx,%si
40e0d1:	74 75                	je     0x40e148
40e0d3:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40e0d9:	75 10                	jne    0x40e0eb
40e0db:	68 38 03 41 00       	push   $0x410338
40e0e0:	68 a8 7c 40 00       	push   $0x407ca8
40e0e5:	ff 15 2c 11 40 00    	call   *0x40112c
40e0eb:	8b 35 38 03 41 00    	mov    0x410338,%esi
40e0f1:	8b 06                	mov    (%esi),%eax
40e0f3:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e0f6:	51                   	push   %ecx
40e0f7:	56                   	push   %esi
40e0f8:	ff 50 4c             	call   *0x4c(%eax)
40e0fb:	db e2                	fnclex
40e0fd:	3b c3                	cmp    %ebx,%eax
40e0ff:	7d 0b                	jge    0x40e10c
40e101:	6a 4c                	push   $0x4c
40e103:	68 98 7c 40 00       	push   $0x407c98
40e108:	56                   	push   %esi
40e109:	50                   	push   %eax
40e10a:	ff d7                	call   *%edi
40e10c:	8b 45 dc             	mov    -0x24(%ebp),%eax
40e10f:	8b 10                	mov    (%eax),%edx
40e111:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40e114:	51                   	push   %ecx
40e115:	68 d4 84 40 00       	push   $0x4084d4
40e11a:	68 b8 84 40 00       	push   $0x4084b8
40e11f:	50                   	push   %eax
40e120:	8b f0                	mov    %eax,%esi
40e122:	ff 52 24             	call   *0x24(%edx)
40e125:	db e2                	fnclex
40e127:	3b c3                	cmp    %ebx,%eax
40e129:	7d 0b                	jge    0x40e136
40e12b:	6a 24                	push   $0x24
40e12d:	68 20 7e 40 00       	push   $0x407e20
40e132:	56                   	push   %esi
40e133:	50                   	push   %eax
40e134:	ff d7                	call   *%edi
40e136:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40e139:	ff 15 a8 11 40 00    	call   *0x4011a8
40e13f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e142:	ff 15 ac 11 40 00    	call   *0x4011ac
40e148:	9b                   	fwait
40e149:	68 80 e1 40 00       	push   $0x40e180
40e14e:	eb 26                	jmp    0x40e176
40e150:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40e153:	ff 15 a8 11 40 00    	call   *0x4011a8
40e159:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e15c:	ff 15 ac 11 40 00    	call   *0x4011ac
40e162:	8d 55 bc             	lea    -0x44(%ebp),%edx
40e165:	52                   	push   %edx
40e166:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e169:	50                   	push   %eax
40e16a:	6a 02                	push   $0x2
40e16c:	ff 15 28 10 40 00    	call   *0x401028
40e172:	83 c4 0c             	add    $0xc,%esp
40e175:	c3                   	ret
40e176:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40e179:	ff 15 a8 11 40 00    	call   *0x4011a8
40e17f:	c3                   	ret
40e180:	8b 45 08             	mov    0x8(%ebp),%eax
40e183:	8b 08                	mov    (%eax),%ecx
40e185:	50                   	push   %eax
40e186:	ff 51 08             	call   *0x8(%ecx)
40e189:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
40e18d:	8b 55 20             	mov    0x20(%ebp),%edx
40e190:	66 89 02             	mov    %ax,(%edx)
40e193:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e196:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e199:	5f                   	pop    %edi
40e19a:	5e                   	pop    %esi
40e19b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e1a2:	5b                   	pop    %ebx
40e1a3:	8b e5                	mov    %ebp,%esp
40e1a5:	5d                   	pop    %ebp
40e1a6:	c2 1c 00             	ret    $0x1c
40e1a9:	90                   	nop
40e1aa:	90                   	nop
40e1ab:	90                   	nop
40e1ac:	90                   	nop
40e1ad:	90                   	nop
40e1ae:	90                   	nop
40e1af:	90                   	nop
40e1b0:	55                   	push   %ebp
40e1b1:	8b ec                	mov    %esp,%ebp
40e1b3:	83 ec 08             	sub    $0x8,%esp
40e1b6:	68 b6 12 40 00       	push   $0x4012b6
40e1bb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e1c1:	50                   	push   %eax
40e1c2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40e1c9:	81 ec 28 01 00 00    	sub    $0x128,%esp
40e1cf:	53                   	push   %ebx
40e1d0:	56                   	push   %esi
40e1d1:	57                   	push   %edi
40e1d2:	89 65 f8             	mov    %esp,-0x8(%ebp)
40e1d5:	c7 45 fc 90 12 40 00 	movl   $0x401290,-0x4(%ebp)
40e1dc:	33 f6                	xor    %esi,%esi