40bc7c:	68 a0 7c 40 00       	push   $0x407ca0
40bc81:	56                   	push   %esi
40bc82:	50                   	push   %eax
40bc83:	ff d7                	call   *%edi
40bc85:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bc88:	8b 10                	mov    (%eax),%edx
40bc8a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bc8d:	51                   	push   %ecx
40bc8e:	68 58 7f 40 00       	push   $0x407f58
40bc93:	68 44 7f 40 00       	push   $0x407f44
40bc98:	50                   	push   %eax
40bc99:	8b f0                	mov    %eax,%esi
40bc9b:	ff 52 24             	call   *0x24(%edx)
40bc9e:	db e2                	fnclex
40bca0:	3b c3                	cmp    %ebx,%eax
40bca2:	7d 0b                	jge    0x40bcaf
40bca4:	6a 24                	push   $0x24
40bca6:	68 28 7e 40 00       	push   $0x407e28
40bcab:	56                   	push   %esi
40bcac:	50                   	push   %eax
40bcad:	ff d7                	call   *%edi
40bcaf:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bcb2:	ff 15 ac 11 40 00    	call   *0x4011ac
40bcb8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bcbb:	ff 15 b0 11 40 00    	call   *0x4011b0
40bcc1:	b8 0a 00 00 00       	mov    $0xa,%eax
40bcc6:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bcc9:	52                   	push   %edx
40bcca:	89 45 c0             	mov    %eax,-0x40(%ebp)
40bccd:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bcd0:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bcd3:	50                   	push   %eax
40bcd4:	68 00 00 f0 3f       	push   $0x3ff00000
40bcd9:	53                   	push   %ebx
40bcda:	68 00 00 f0 3f       	push   $0x3ff00000
40bcdf:	53                   	push   %ebx
40bce0:	68 00 00 f0 3f       	push   $0x3ff00000
40bce5:	53                   	push   %ebx
40bce6:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bceb:	68 00 00 f0 3f       	push   $0x3ff00000
40bcf0:	53                   	push   %ebx
40bcf1:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bcf4:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bcf7:	ff 15 dc 10 40 00    	call   *0x4010dc
40bcfd:	ff 15 9c 10 40 00    	call   *0x40109c
40bd03:	dc 1d 10 12 40 00    	fcompl 0x401210
40bd09:	df e0                	fnstsw %ax
40bd0b:	f6 c4 40             	test   $0x40,%ah
40bd0e:	75 07                	jne    0x40bd17
40bd10:	be 01 00 00 00       	mov    $0x1,%esi
40bd15:	eb 02                	jmp    0x40bd19
40bd17:	33 f6                	xor    %esi,%esi
40bd19:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40bd1c:	51                   	push   %ecx
40bd1d:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bd20:	52                   	push   %edx
40bd21:	6a 02                	push   $0x2
40bd23:	ff 15 28 10 40 00    	call   *0x401028
40bd29:	f7 de                	neg    %esi
40bd2b:	83 c4 0c             	add    $0xc,%esp
40bd2e:	66 85 f6             	test   %si,%si
40bd31:	74 75                	je     0x40bda8
40bd33:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bd39:	75 10                	jne    0x40bd4b
40bd3b:	68 38 03 41 00       	push   $0x410338
40bd40:	68 b0 7c 40 00       	push   $0x407cb0
40bd45:	ff 15 24 11 40 00    	call   *0x401124
40bd4b:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bd51:	8b 06                	mov    (%esi),%eax
40bd53:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bd56:	51                   	push   %ecx
40bd57:	56                   	push   %esi
40bd58:	ff 50 4c             	call   *0x4c(%eax)
40bd5b:	db e2                	fnclex
40bd5d:	3b c3                	cmp    %ebx,%eax
40bd5f:	7d 0b                	jge    0x40bd6c
40bd61:	6a 4c                	push   $0x4c
40bd63:	68 a0 7c 40 00       	push   $0x407ca0
40bd68:	56                   	push   %esi
40bd69:	50                   	push   %eax
40bd6a:	ff d7                	call   *%edi
40bd6c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bd6f:	8b 10                	mov    (%eax),%edx
40bd71:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bd74:	51                   	push   %ecx
40bd75:	68 94 7f 40 00       	push   $0x407f94
40bd7a:	68 7c 7f 40 00       	push   $0x407f7c
40bd7f:	50                   	push   %eax
40bd80:	8b f0                	mov    %eax,%esi
40bd82:	ff 52 24             	call   *0x24(%edx)
40bd85:	db e2                	fnclex
40bd87:	3b c3                	cmp    %ebx,%eax
40bd89:	7d 0b                	jge    0x40bd96
40bd8b:	6a 24                	push   $0x24
40bd8d:	68 28 7e 40 00       	push   $0x407e28
40bd92:	56                   	push   %esi
40bd93:	50                   	push   %eax
40bd94:	ff d7                	call   *%edi
40bd96:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bd99:	ff 15 ac 11 40 00    	call   *0x4011ac
40bd9f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bda2:	ff 15 b0 11 40 00    	call   *0x4011b0
40bda8:	b8 0a 00 00 00       	mov    $0xa,%eax
40bdad:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bdb0:	52                   	push   %edx
40bdb1:	89 45 c0             	mov    %eax,-0x40(%ebp)
40bdb4:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bdb7:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bdba:	50                   	push   %eax
40bdbb:	68 00 00 f0 3f       	push   $0x3ff00000
40bdc0:	53                   	push   %ebx
40bdc1:	68 00 00 f0 3f       	push   $0x3ff00000
40bdc6:	53                   	push   %ebx
40bdc7:	68 00 00 f0 3f       	push   $0x3ff00000
40bdcc:	53                   	push   %ebx
40bdcd:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bdd2:	68 00 00 f0 3f       	push   $0x3ff00000
40bdd7:	53                   	push   %ebx
40bdd8:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bddb:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bdde:	ff 15 dc 10 40 00    	call   *0x4010dc
40bde4:	ff 15 9c 10 40 00    	call   *0x40109c
40bdea:	dc 1d 10 12 40 00    	fcompl 0x401210
40bdf0:	df e0                	fnstsw %ax
40bdf2:	f6 c4 40             	test   $0x40,%ah
40bdf5:	75 07                	jne    0x40bdfe
40bdf7:	be 01 00 00 00       	mov    $0x1,%esi
40bdfc:	eb 02                	jmp    0x40be00
40bdfe:	33 f6                	xor    %esi,%esi
40be00:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40be03:	51                   	push   %ecx
40be04:	8d 55 d0             	lea    -0x30(%ebp),%edx
40be07:	52                   	push   %edx
40be08:	6a 02                	push   $0x2
40be0a:	ff 15 28 10 40 00    	call   *0x401028
40be10:	f7 de                	neg    %esi
40be12:	83 c4 0c             	add    $0xc,%esp
40be15:	66 85 f6             	test   %si,%si
40be18:	74 75                	je     0x40be8f
40be1a:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40be20:	75 10                	jne    0x40be32
40be22:	68 38 03 41 00       	push   $0x410338
40be27:	68 b0 7c 40 00       	push   $0x407cb0
40be2c:	ff 15 24 11 40 00    	call   *0x401124
40be32:	8b 35 38 03 41 00    	mov    0x410338,%esi
40be38:	8b 06                	mov    (%esi),%eax
40be3a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40be3d:	51                   	push   %ecx
40be3e:	56                   	push   %esi
40be3f:	ff 50 4c             	call   *0x4c(%eax)
40be42:	db e2                	fnclex
40be44:	3b c3                	cmp    %ebx,%eax
40be46:	7d 0b                	jge    0x40be53
40be48:	6a 4c                	push   $0x4c
40be4a:	68 a0 7c 40 00       	push   $0x407ca0
40be4f:	56                   	push   %esi
40be50:	50                   	push   %eax
40be51:	ff d7                	call   *%edi
40be53:	8b 45 e0             	mov    -0x20(%ebp),%eax
40be56:	8b 10                	mov    (%eax),%edx
40be58:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40be5b:	51                   	push   %ecx
40be5c:	68 d0 7f 40 00       	push   $0x407fd0
40be61:	68 b4 7f 40 00       	push   $0x407fb4
40be66:	50                   	push   %eax
40be67:	8b f0                	mov    %eax,%esi
40be69:	ff 52 24             	call   *0x24(%edx)
40be6c:	db e2                	fnclex
40be6e:	3b c3                	cmp    %ebx,%eax
40be70:	7d 0b                	jge    0x40be7d
40be72:	6a 24                	push   $0x24
40be74:	68 28 7e 40 00       	push   $0x407e28
40be79:	56                   	push   %esi
40be7a:	50                   	push   %eax
40be7b:	ff d7                	call   *%edi
40be7d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40be80:	ff 15 ac 11 40 00    	call   *0x4011ac
40be86:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40be89:	ff 15 b0 11 40 00    	call   *0x4011b0
40be8f:	b8 0a 00 00 00       	mov    $0xa,%eax
40be94:	8d 55 c0             	lea    -0x40(%ebp),%edx
40be97:	52                   	push   %edx
40be98:	89 45 c0             	mov    %eax,-0x40(%ebp)
40be9b:	89 45 d0             	mov    %eax,-0x30(%ebp)
40be9e:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bea1:	50                   	push   %eax
40bea2:	68 00 00 f0 3f       	push   $0x3ff00000
40bea7:	53                   	push   %ebx
40bea8:	68 00 00 f0 3f       	push   $0x3ff00000
40bead:	53                   	push   %ebx
40beae:	68 00 00 f0 3f       	push   $0x3ff00000
40beb3:	53                   	push   %ebx
40beb4:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40beb9:	68 00 00 f0 3f       	push   $0x3ff00000
40bebe:	53                   	push   %ebx
40bebf:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bec2:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bec5:	ff 15 dc 10 40 00    	call   *0x4010dc
40becb:	ff 15 9c 10 40 00    	call   *0x40109c
40bed1:	dc 1d 10 12 40 00    	fcompl 0x401210
40bed7:	df e0                	fnstsw %ax
40bed9:	f6 c4 40             	test   $0x40,%ah
40bedc:	75 07                	jne    0x40bee5
40bede:	b8 01 00 00 00       	mov    $0x1,%eax
40bee3:	eb 02                	jmp    0x40bee7
40bee5:	33 c0                	xor    %eax,%eax
40bee7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40beea:	51                   	push   %ecx
40beeb:	8d 55 d0             	lea    -0x30(%ebp),%edx
40beee:	52                   	push   %edx
40beef:	f7 d8                	neg    %eax
40bef1:	6a 02                	push   $0x2
40bef3:	66 8b f0             	mov    %ax,%si
40bef6:	ff 15 28 10 40 00    	call   *0x401028
40befc:	83 c4 0c             	add    $0xc,%esp
40beff:	66 3b f3             	cmp    %bx,%si
40bf02:	74 75                	je     0x40bf79
40bf04:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bf0a:	75 10                	jne    0x40bf1c
40bf0c:	68 38 03 41 00       	push   $0x410338
40bf11:	68 b0 7c 40 00       	push   $0x407cb0
40bf16:	ff 15 24 11 40 00    	call   *0x401124
40bf1c:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bf22:	8b 06                	mov    (%esi),%eax
40bf24:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf27:	51                   	push   %ecx
40bf28:	56                   	push   %esi
40bf29:	ff 50 4c             	call   *0x4c(%eax)
40bf2c:	db e2                	fnclex
40bf2e:	3b c3                	cmp    %ebx,%eax
40bf30:	7d 0b                	jge    0x40bf3d
40bf32:	6a 4c                	push   $0x4c
40bf34:	68 a0 7c 40 00       	push   $0x407ca0
40bf39:	56                   	push   %esi
40bf3a:	50                   	push   %eax
40bf3b:	ff d7                	call   *%edi
40bf3d:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bf40:	8b 10                	mov    (%eax),%edx
40bf42:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf45:	51                   	push   %ecx
40bf46:	68 0c 80 40 00       	push   $0x40800c
40bf4b:	68 e8 7f 40 00       	push   $0x407fe8
40bf50:	50                   	push   %eax
40bf51:	8b f0                	mov    %eax,%esi
40bf53:	ff 52 24             	call   *0x24(%edx)
40bf56:	db e2                	fnclex
40bf58:	3b c3                	cmp    %ebx,%eax
40bf5a:	7d 0b                	jge    0x40bf67
40bf5c:	6a 24                	push   $0x24
40bf5e:	68 28 7e 40 00       	push   $0x407e28
40bf63:	56                   	push   %esi
40bf64:	50                   	push   %eax
40bf65:	ff d7                	call   *%edi
40bf67:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf6a:	ff 15 ac 11 40 00    	call   *0x4011ac
40bf70:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf73:	ff 15 b0 11 40 00    	call   *0x4011b0
40bf79:	9b                   	fwait
40bf7a:	68 a8 bf 40 00       	push   $0x40bfa8
40bf7f:	eb 26                	jmp    0x40bfa7
40bf81:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bf84:	ff 15 ac 11 40 00    	call   *0x4011ac
40bf8a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bf8d:	ff 15 b0 11 40 00    	call   *0x4011b0
40bf93:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bf96:	52                   	push   %edx
40bf97:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bf9a:	50                   	push   %eax
40bf9b:	6a 02                	push   $0x2
40bf9d:	ff 15 28 10 40 00    	call   *0x401028
40bfa3:	83 c4 0c             	add    $0xc,%esp
40bfa6:	c3                   	ret
40bfa7:	c3                   	ret
40bfa8:	8b 45 08             	mov    0x8(%ebp),%eax
40bfab:	8b 08                	mov    (%eax),%ecx
40bfad:	50                   	push   %eax
40bfae:	ff 51 08             	call   *0x8(%ecx)
40bfb1:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
40bfb5:	8b 55 20             	mov    0x20(%ebp),%edx
40bfb8:	66 89 02             	mov    %ax,(%edx)
40bfbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bfbe:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bfc1:	5f                   	pop    %edi
40bfc2:	5e                   	pop    %esi
40bfc3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bfca:	5b                   	pop    %ebx
40bfcb:	8b e5                	mov    %ebp,%esp
40bfcd:	5d                   	pop    %ebp
40bfce:	c2 1c 00             	ret    $0x1c
40bfd1:	90                   	nop
40bfd2:	90                   	nop
40bfd3:	90                   	nop
40bfd4:	90                   	nop
40bfd5:	90                   	nop
40bfd6:	90                   	nop
40bfd7:	90                   	nop
40bfd8:	90                   	nop
40bfd9:	90                   	nop
40bfda:	90                   	nop
40bfdb:	90                   	nop
40bfdc:	90                   	nop
40bfdd:	90                   	nop
40bfde:	90                   	nop
40bfdf:	90                   	nop
40bfe0:	55                   	push   %ebp
40bfe1:	8b ec                	mov    %esp,%ebp
40bfe3:	83 ec 0c             	sub    $0xc,%esp
40bfe6:	68 b6 12 40 00       	push   $0x4012b6
40bfeb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bff1:	50                   	push   %eax
40bff2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40bff9:	81 ec 94 00 00 00    	sub    $0x94,%esp
40bfff:	53                   	push   %ebx
40c000:	56                   	push   %esi
40c001:	57                   	push   %edi
40c002:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c005:	c7 45 f8 30 12 40 00 	movl   $0x401230,-0x8(%ebp)
40c00c:	33 f6                	xor    %esi,%esi
40c00e:	89 75 fc             	mov    %esi,-0x4(%ebp)
40c011:	8b 45 08             	mov    0x8(%ebp),%eax
40c014:	8b 08                	mov    (%eax),%ecx
40c016:	50                   	push   %eax
40c017:	ff 51 04             	call   *0x4(%ecx)
40c01a:	6a 05                	push   $0x5
40c01c:	68 3c 80 40 00       	push   $0x40803c
40c021:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40c024:	52                   	push   %edx
40c025:	89 75 cc             	mov    %esi,-0x34(%ebp)
40c028:	89 75 bc             	mov    %esi,-0x44(%ebp)
40c02b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40c02e:	89 75 9c             	mov    %esi,-0x64(%ebp)
40c031:	89 75 8c             	mov    %esi,-0x74(%ebp)
40c034:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
40c03a:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
40c040:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
40c046:	ff 15 bc 10 40 00    	call   *0x4010bc
40c04c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c04f:	89 30                	mov    %esi,(%eax)
40c051:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c054:	c7 41 04 00 00 f0 bf 	movl   $0xbff00000,0x4(%ecx)
40c05b:	8b 55 e0             	mov    -0x20(%ebp),%edx
40c05e:	89 72 08             	mov    %esi,0x8(%edx)
40c061:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c064:	c7 40 0c 00 c0 5b 40 	movl   $0x405bc000,0xc(%eax)
40c06b:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c06e:	52                   	push   %edx
40c06f:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
40c075:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c078:	50                   	push   %eax
40c079:	c7 45 c4 04 00 02 80 	movl   $0x80020004,-0x3c(%ebp)