40be02:	68 38 03 41 00       	push   $0x410338
40be07:	68 a8 7c 40 00       	push   $0x407ca8
40be0c:	ff 15 2c 11 40 00    	call   *0x40112c
40be12:	8b 35 38 03 41 00    	mov    0x410338,%esi
40be18:	8b 06                	mov    (%esi),%eax
40be1a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40be1d:	51                   	push   %ecx
40be1e:	56                   	push   %esi
40be1f:	ff 50 4c             	call   *0x4c(%eax)
40be22:	db e2                	fnclex
40be24:	3b c3                	cmp    %ebx,%eax
40be26:	7d 0b                	jge    0x40be33
40be28:	6a 4c                	push   $0x4c
40be2a:	68 98 7c 40 00       	push   $0x407c98
40be2f:	56                   	push   %esi
40be30:	50                   	push   %eax
40be31:	ff d7                	call   *%edi
40be33:	8b 45 e0             	mov    -0x20(%ebp),%eax
40be36:	8b 10                	mov    (%eax),%edx
40be38:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40be3b:	51                   	push   %ecx
40be3c:	68 c8 7f 40 00       	push   $0x407fc8
40be41:	68 ac 7f 40 00       	push   $0x407fac
40be46:	50                   	push   %eax
40be47:	8b f0                	mov    %eax,%esi
40be49:	ff 52 24             	call   *0x24(%edx)
40be4c:	db e2                	fnclex
40be4e:	3b c3                	cmp    %ebx,%eax
40be50:	7d 0b                	jge    0x40be5d
40be52:	6a 24                	push   $0x24
40be54:	68 20 7e 40 00       	push   $0x407e20
40be59:	56                   	push   %esi
40be5a:	50                   	push   %eax
40be5b:	ff d7                	call   *%edi
40be5d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40be60:	ff 15 a8 11 40 00    	call   *0x4011a8
40be66:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40be69:	ff 15 ac 11 40 00    	call   *0x4011ac
40be6f:	b8 0a 00 00 00       	mov    $0xa,%eax
40be74:	8d 55 c0             	lea    -0x40(%ebp),%edx
40be77:	52                   	push   %edx
40be78:	89 45 c0             	mov    %eax,-0x40(%ebp)
40be7b:	89 45 d0             	mov    %eax,-0x30(%ebp)
40be7e:	8d 45 d0             	lea    -0x30(%ebp),%eax
40be81:	50                   	push   %eax
40be82:	68 00 00 f0 3f       	push   $0x3ff00000
40be87:	53                   	push   %ebx
40be88:	68 00 00 f0 3f       	push   $0x3ff00000
40be8d:	53                   	push   %ebx
40be8e:	68 00 00 f0 3f       	push   $0x3ff00000
40be93:	53                   	push   %ebx
40be94:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40be99:	68 00 00 f0 3f       	push   $0x3ff00000
40be9e:	53                   	push   %ebx
40be9f:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bea2:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bea5:	ff 15 e0 10 40 00    	call   *0x4010e0
40beab:	ff 15 9c 10 40 00    	call   *0x40109c
40beb1:	dc 1d 10 12 40 00    	fcompl 0x401210
40beb7:	df e0                	fnstsw %ax
40beb9:	f6 c4 40             	test   $0x40,%ah
40bebc:	75 07                	jne    0x40bec5
40bebe:	b8 01 00 00 00       	mov    $0x1,%eax
40bec3:	eb 02                	jmp    0x40bec7
40bec5:	33 c0                	xor    %eax,%eax
40bec7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40beca:	51                   	push   %ecx
40becb:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bece:	52                   	push   %edx
40becf:	f7 d8                	neg    %eax
40bed1:	6a 02                	push   $0x2
40bed3:	66 8b f0             	mov    %ax,%si
40bed6:	ff 15 28 10 40 00    	call   *0x401028
40bedc:	83 c4 0c             	add    $0xc,%esp
40bedf:	66 3b f3             	cmp    %bx,%si
40bee2:	74 75                	je     0x40bf59
40bee4:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40beea:	75 10                	jne    0x40befc
40beec:	68 38 03 41 00       	push   $0x410338
40bef1:	68 a8 7c 40 00       	push   $0x407ca8
40bef6:	ff 15 2c 11 40 00    	call   *0x40112c
40befc:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bf02:	8b 06                	mov    (%esi),%eax
40bf04:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf07:	51                   	push   %ecx
40bf08:	56                   	push   %esi
40bf09:	ff 50 4c             	call   *0x4c(%eax)
40bf0c:	db e2                	fnclex
40bf0e:	3b c3                	cmp    %ebx,%eax
40bf10:	7d 0b                	jge    0x40bf1d
40bf12:	6a 4c                	push   $0x4c
40bf14:	68 98 7c 40 00       	push   $0x407c98
40bf19:	56                   	push   %esi
40bf1a:	50                   	push   %eax
40bf1b:	ff d7                	call   *%edi
40bf1d:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bf20:	8b 10                	mov    (%eax),%edx
40bf22:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf25:	51                   	push   %ecx
40bf26:	68 04 80 40 00       	push   $0x408004
40bf2b:	68 e0 7f 40 00       	push   $0x407fe0
40bf30:	50                   	push   %eax
40bf31:	8b f0                	mov    %eax,%esi
40bf33:	ff 52 24             	call   *0x24(%edx)
40bf36:	db e2                	fnclex
40bf38:	3b c3                	cmp    %ebx,%eax
40bf3a:	7d 0b                	jge    0x40bf47
40bf3c:	6a 24                	push   $0x24
40bf3e:	68 20 7e 40 00       	push   $0x407e20
40bf43:	56                   	push   %esi
40bf44:	50                   	push   %eax
40bf45:	ff d7                	call   *%edi
40bf47:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf4a:	ff 15 a8 11 40 00    	call   *0x4011a8
40bf50:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf53:	ff 15 ac 11 40 00    	call   *0x4011ac
40bf59:	9b                   	fwait
40bf5a:	68 88 bf 40 00       	push   $0x40bf88
40bf5f:	eb 26                	jmp    0x40bf87
40bf61:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf64:	ff 15 a8 11 40 00    	call   *0x4011a8
40bf6a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf6d:	ff 15 ac 11 40 00    	call   *0x4011ac
40bf73:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bf76:	52                   	push   %edx
40bf77:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bf7a:	50                   	push   %eax
40bf7b:	6a 02                	push   $0x2
40bf7d:	ff 15 28 10 40 00    	call   *0x401028
40bf83:	83 c4 0c             	add    $0xc,%esp
40bf86:	c3                   	ret
40bf87:	c3                   	ret
40bf88:	8b 45 08             	mov    0x8(%ebp),%eax
40bf8b:	8b 08                	mov    (%eax),%ecx
40bf8d:	50                   	push   %eax
40bf8e:	ff 51 08             	call   *0x8(%ecx)
40bf91:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
40bf95:	8b 55 20             	mov    0x20(%ebp),%edx
40bf98:	66 89 02             	mov    %ax,(%edx)
40bf9b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bf9e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bfa1:	5f                   	pop    %edi
40bfa2:	5e                   	pop    %esi
40bfa3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bfaa:	5b                   	pop    %ebx
40bfab:	8b e5                	mov    %ebp,%esp
40bfad:	5d                   	pop    %ebp
40bfae:	c2 1c 00             	ret    $0x1c
40bfb1:	90                   	nop
40bfb2:	90                   	nop
40bfb3:	90                   	nop
40bfb4:	90                   	nop
40bfb5:	90                   	nop
40bfb6:	90                   	nop
40bfb7:	90                   	nop
40bfb8:	90                   	nop
40bfb9:	90                   	nop
40bfba:	90                   	nop
40bfbb:	90                   	nop
40bfbc:	90                   	nop
40bfbd:	90                   	nop
40bfbe:	90                   	nop
40bfbf:	90                   	nop
40bfc0:	55                   	push   %ebp
40bfc1:	8b ec                	mov    %esp,%ebp
40bfc3:	83 ec 0c             	sub    $0xc,%esp
40bfc6:	68 b6 12 40 00       	push   $0x4012b6
40bfcb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bfd1:	50                   	push   %eax
40bfd2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40bfd9:	81 ec 94 00 00 00    	sub    $0x94,%esp
40bfdf:	53                   	push   %ebx
40bfe0:	56                   	push   %esi
40bfe1:	57                   	push   %edi
40bfe2:	89 65 f4             	mov    %esp,-0xc(%ebp)
40bfe5:	c7 45 f8 30 12 40 00 	movl   $0x401230,-0x8(%ebp)
40bfec:	33 f6                	xor    %esi,%esi
40bfee:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bff1:	8b 45 08             	mov    0x8(%ebp),%eax
40bff4:	8b 08                	mov    (%eax),%ecx
40bff6:	50                   	push   %eax
40bff7:	ff 51 04             	call   *0x4(%ecx)
40bffa:	6a 05                	push   $0x5
40bffc:	68 34 80 40 00       	push   $0x408034
40c001:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40c004:	52                   	push   %edx
40c005:	89 75 cc             	mov    %esi,-0x34(%ebp)
40c008:	89 75 bc             	mov    %esi,-0x44(%ebp)
40c00b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40c00e:	89 75 9c             	mov    %esi,-0x64(%ebp)
40c011:	89 75 8c             	mov    %esi,-0x74(%ebp)
40c014:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
40c01a:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
40c020:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
40c026:	ff 15 bc 10 40 00    	call   *0x4010bc
40c02c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c02f:	89 30                	mov    %esi,(%eax)
40c031:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c034:	c7 41 04 00 00 f0 bf 	movl   $0xbff00000,0x4(%ecx)
40c03b:	8b 55 e0             	mov    -0x20(%ebp),%edx
40c03e:	89 72 08             	mov    %esi,0x8(%edx)
40c041:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c044:	c7 40 0c 00 c0 5b 40 	movl   $0x405bc000,0xc(%eax)
40c04b:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c04e:	52                   	push   %edx
40c04f:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
40c055:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c058:	50                   	push   %eax
40c059:	c7 45 c4 04 00 02 80 	movl   $0x80020004,-0x3c(%ebp)
40c060:	c7 45 bc 0a 00 00 00 	movl   $0xa,-0x44(%ebp)
40c067:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
40c06d:	ff 15 54 11 40 00    	call   *0x401154
40c073:	ff 15 9c 10 40 00    	call   *0x40109c
40c079:	dc 1d 28 12 40 00    	fcompl 0x401228
40c07f:	df e0                	fnstsw %ax
40c081:	f6 c4 40             	test   $0x40,%ah
40c084:	75 07                	jne    0x40c08d
40c086:	b8 01 00 00 00       	mov    $0x1,%eax
40c08b:	eb 02                	jmp    0x40c08f
40c08d:	33 c0                	xor    %eax,%eax
40c08f:	f7 d8                	neg    %eax
40c091:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c094:	66 8b f8             	mov    %ax,%di
40c097:	ff 15 14 10 40 00    	call   *0x401014
40c09d:	66 3b fe             	cmp    %si,%di
40c0a0:	0f 84 ed 00 00 00    	je     0x40c193
40c0a6:	39 35 38 03 41 00    	cmp    %esi,0x410338
40c0ac:	75 10                	jne    0x40c0be
40c0ae:	68 38 03 41 00       	push   $0x410338
40c0b3:	68 a8 7c 40 00       	push   $0x407ca8
40c0b8:	ff 15 2c 11 40 00    	call   *0x40112c
40c0be:	8d 5d cc             	lea    -0x34(%ebp),%ebx
40c0c1:	53                   	push   %ebx
40c0c2:	83 ec 10             	sub    $0x10,%esp
40c0c5:	8b dc                	mov    %esp,%ebx
40c0c7:	b9 03 00 00 00       	mov    $0x3,%ecx
40c0cc:	89 0b                	mov    %ecx,(%ebx)
40c0ce:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
40c0d1:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
40c0d7:	89 4b 04             	mov    %ecx,0x4(%ebx)
40c0da:	b8 a1 ec 3c 00       	mov    $0x3ceca1,%eax
40c0df:	89 43 08             	mov    %eax,0x8(%ebx)
40c0e2:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40c0e8:	89 43 0c             	mov    %eax,0xc(%ebx)
40c0eb:	83 ec 10             	sub    $0x10,%esp
40c0ee:	8b cc                	mov    %esp,%ecx
40c0f0:	b8 03 00 00 00       	mov    $0x3,%eax
40c0f5:	89 01                	mov    %eax,(%ecx)
40c0f7:	8b 45 80             	mov    -0x80(%ebp),%eax
40c0fa:	89 41 04             	mov    %eax,0x4(%ecx)
40c0fd:	8b 35 38 03 41 00    	mov    0x410338,%esi
40c103:	ba e0 df 44 00       	mov    $0x44dfe0,%edx
40c108:	89 51 08             	mov    %edx,0x8(%ecx)
40c10b:	8b 55 88             	mov    -0x78(%ebp),%edx
40c10e:	89 51 0c             	mov    %edx,0xc(%ecx)
40c111:	8b 55 90             	mov    -0x70(%ebp),%edx
40c114:	83 ec 10             	sub    $0x10,%esp
40c117:	8b 3e                	mov    (%esi),%edi
40c119:	8b cc                	mov    %esp,%ecx
40c11b:	b8 02 00 00 00       	mov    $0x2,%eax
40c120:	89 01                	mov    %eax,(%ecx)
40c122:	89 51 04             	mov    %edx,0x4(%ecx)
40c125:	8b 55 9c             	mov    -0x64(%ebp),%edx
40c128:	b8 18 00 00 00       	mov    $0x18,%eax
40c12d:	89 41 08             	mov    %eax,0x8(%ecx)
40c130:	8b 45 98             	mov    -0x68(%ebp),%eax
40c133:	89 41 0c             	mov    %eax,0xc(%ecx)
40c136:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c139:	83 ec 10             	sub    $0x10,%esp
40c13c:	8b cc                	mov    %esp,%ecx
40c13e:	89 11                	mov    %edx,(%ecx)
40c140:	8b 55 a8             	mov    -0x58(%ebp),%edx
40c143:	89 41 04             	mov    %eax,0x4(%ecx)
40c146:	b8 38 4d 32 00       	mov    $0x324d38,%eax
40c14b:	89 41 08             	mov    %eax,0x8(%ecx)
40c14e:	89 51 0c             	mov    %edx,0xc(%ecx)
40c151:	8b 55 b0             	mov    -0x50(%ebp),%edx
40c154:	83 ec 10             	sub    $0x10,%esp
40c157:	8b cc                	mov    %esp,%ecx
40c159:	b8 08 00 00 00       	mov    $0x8,%eax
40c15e:	89 01                	mov    %eax,(%ecx)
40c160:	89 51 04             	mov    %edx,0x4(%ecx)
40c163:	b8 1c 80 40 00       	mov    $0x40801c,%eax
40c168:	89 41 08             	mov    %eax,0x8(%ecx)
40c16b:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c16e:	56                   	push   %esi
40c16f:	89 41 0c             	mov    %eax,0xc(%ecx)
40c172:	ff 57 44             	call   *0x44(%edi)
40c175:	db e2                	fnclex
40c177:	85 c0                	test   %eax,%eax
40c179:	7d 0f                	jge    0x40c18a
40c17b:	6a 44                	push   $0x44
40c17d:	68 98 7c 40 00       	push   $0x407c98
40c182:	56                   	push   %esi
40c183:	50                   	push   %eax
40c184:	ff 15 48 10 40 00    	call   *0x401048
40c18a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c18d:	ff 15 ac 11 40 00    	call   *0x4011ac
40c193:	9b                   	fwait
40c194:	68 c7 c1 40 00       	push   $0x40c1c7
40c199:	eb 13                	jmp    0x40c1ae
40c19b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c19e:	ff 15 ac 11 40 00    	call   *0x4011ac
40c1a4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c1a7:	ff 15 14 10 40 00    	call   *0x401014
40c1ad:	c3                   	ret
40c1ae:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
40c1b4:	52                   	push   %edx
40c1b5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c1b8:	6a 00                	push   $0x0
40c1ba:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
40c1c0:	ff 15 68 10 40 00    	call   *0x401068
40c1c6:	c3                   	ret
40c1c7:	8b 45 08             	mov    0x8(%ebp),%eax
40c1ca:	8b 08                	mov    (%eax),%ecx
40c1cc:	50                   	push   %eax
40c1cd:	ff 51 08             	call   *0x8(%ecx)
40c1d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c1d3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c1d6:	5f                   	pop    %edi
40c1d7:	5e                   	pop    %esi
40c1d8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c1df:	5b                   	pop    %ebx
40c1e0:	8b e5                	mov    %ebp,%esp
40c1e2:	5d                   	pop    %ebp
40c1e3:	c2 10 00             	ret    $0x10
40c1e6:	90                   	nop
40c1e7:	90                   	nop
40c1e8:	90                   	nop
40c1e9:	90                   	nop
40c1ea:	90                   	nop
40c1eb:	90                   	nop
40c1ec:	90                   	nop
40c1ed:	90                   	nop
40c1ee:	90                   	nop
40c1ef:	90                   	nop
40c1f0:	55                   	push   %ebp
40c1f1:	8b ec                	mov    %esp,%ebp
40c1f3:	83 ec 0c             	sub    $0xc,%esp
40c1f6:	68 b6 12 40 00       	push   $0x4012b6
40c1fb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c201:	50                   	push   %eax
40c202:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c209:	83 ec 2c             	sub    $0x2c,%esp
40c20c:	53                   	push   %ebx
40c20d:	56                   	push   %esi
40c20e:	57                   	push   %edi
40c20f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c212:	c7 45 f8 40 12 40 00 	movl   $0x401240,-0x8(%ebp)
40c219:	33 f6                	xor    %esi,%esi