40ab48:	50                   	push   %eax
40ab49:	ff 15 48 10 40 00    	call   *0x401048
40ab4f:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ab52:	8b 38                	mov    (%eax),%edi
40ab54:	83 ec 10             	sub    $0x10,%esp
40ab57:	8b dc                	mov    %esp,%ebx
40ab59:	ba 0a 00 00 00       	mov    $0xa,%edx
40ab5e:	89 13                	mov    %edx,(%ebx)
40ab60:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40ab63:	89 53 04             	mov    %edx,0x4(%ebx)
40ab66:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ab6b:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ab6e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ab71:	68 74 7d 40 00       	push   $0x407d74
40ab76:	50                   	push   %eax
40ab77:	8b f0                	mov    %eax,%esi
40ab79:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ab7c:	ff 57 60             	call   *0x60(%edi)
40ab7f:	db e2                	fnclex
40ab81:	85 c0                	test   %eax,%eax
40ab83:	7d 0f                	jge    0x40ab94
40ab85:	6a 60                	push   $0x60
40ab87:	68 d4 7c 40 00       	push   $0x407cd4
40ab8c:	56                   	push   %esi
40ab8d:	50                   	push   %eax
40ab8e:	ff 15 48 10 40 00    	call   *0x401048
40ab94:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ab97:	ff 15 ac 11 40 00    	call   *0x4011ac
40ab9d:	68 94 77 40 00       	push   $0x407794
40aba2:	ff 15 88 10 40 00    	call   *0x401088
40aba8:	dd 05 d8 11 40 00    	fldl   0x4011d8
40abae:	52                   	push   %edx
40abaf:	50                   	push   %eax
40abb0:	ff 15 f4 10 40 00    	call   *0x4010f4
40abb6:	85 c0                	test   %eax,%eax
40abb8:	0f 84 8c 00 00 00    	je     0x40ac4a
40abbe:	a1 38 03 41 00       	mov    0x410338,%eax
40abc3:	85 c0                	test   %eax,%eax
40abc5:	75 10                	jne    0x40abd7
40abc7:	68 38 03 41 00       	push   $0x410338
40abcc:	68 c4 7c 40 00       	push   $0x407cc4
40abd1:	ff 15 28 11 40 00    	call   *0x401128
40abd7:	8b 35 38 03 41 00    	mov    0x410338,%esi
40abdd:	8b 16                	mov    (%esi),%edx
40abdf:	8d 45 e0             	lea    -0x20(%ebp),%eax
40abe2:	50                   	push   %eax
40abe3:	56                   	push   %esi
40abe4:	ff 52 1c             	call   *0x1c(%edx)
40abe7:	db e2                	fnclex
40abe9:	85 c0                	test   %eax,%eax
40abeb:	7d 0f                	jge    0x40abfc
40abed:	6a 1c                	push   $0x1c
40abef:	68 b4 7c 40 00       	push   $0x407cb4
40abf4:	56                   	push   %esi
40abf5:	50                   	push   %eax
40abf6:	ff 15 48 10 40 00    	call   *0x401048
40abfc:	8b 45 e0             	mov    -0x20(%ebp),%eax
40abff:	8b 38                	mov    (%eax),%edi
40ac01:	83 ec 10             	sub    $0x10,%esp
40ac04:	8b dc                	mov    %esp,%ebx
40ac06:	ba 0a 00 00 00       	mov    $0xa,%edx
40ac0b:	89 13                	mov    %edx,(%ebx)
40ac0d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40ac10:	89 53 04             	mov    %edx,0x4(%ebx)
40ac13:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ac18:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ac1b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ac1e:	68 88 7d 40 00       	push   $0x407d88
40ac23:	50                   	push   %eax
40ac24:	8b f0                	mov    %eax,%esi
40ac26:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ac29:	ff 57 60             	call   *0x60(%edi)
40ac2c:	db e2                	fnclex
40ac2e:	85 c0                	test   %eax,%eax
40ac30:	7d 0f                	jge    0x40ac41
40ac32:	6a 60                	push   $0x60
40ac34:	68 d4 7c 40 00       	push   $0x407cd4
40ac39:	56                   	push   %esi
40ac3a:	50                   	push   %eax
40ac3b:	ff 15 48 10 40 00    	call   *0x401048
40ac41:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ac44:	ff 15 ac 11 40 00    	call   *0x4011ac
40ac4a:	68 94 77 40 00       	push   $0x407794
40ac4f:	ff 15 88 10 40 00    	call   *0x401088
40ac55:	dd 05 d8 11 40 00    	fldl   0x4011d8
40ac5b:	52                   	push   %edx
40ac5c:	50                   	push   %eax
40ac5d:	ff 15 f4 10 40 00    	call   *0x4010f4
40ac63:	85 c0                	test   %eax,%eax
40ac65:	0f 84 8c 00 00 00    	je     0x40acf7
40ac6b:	a1 38 03 41 00       	mov    0x410338,%eax
40ac70:	85 c0                	test   %eax,%eax
40ac72:	75 10                	jne    0x40ac84
40ac74:	68 38 03 41 00       	push   $0x410338
40ac79:	68 c4 7c 40 00       	push   $0x407cc4
40ac7e:	ff 15 28 11 40 00    	call   *0x401128
40ac84:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ac8a:	8b 16                	mov    (%esi),%edx
40ac8c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ac8f:	50                   	push   %eax
40ac90:	56                   	push   %esi
40ac91:	ff 52 1c             	call   *0x1c(%edx)
40ac94:	db e2                	fnclex
40ac96:	85 c0                	test   %eax,%eax
40ac98:	7d 0f                	jge    0x40aca9
40ac9a:	6a 1c                	push   $0x1c
40ac9c:	68 b4 7c 40 00       	push   $0x407cb4
40aca1:	56                   	push   %esi
40aca2:	50                   	push   %eax
40aca3:	ff 15 48 10 40 00    	call   *0x401048
40aca9:	8b 45 e0             	mov    -0x20(%ebp),%eax
40acac:	8b 38                	mov    (%eax),%edi
40acae:	83 ec 10             	sub    $0x10,%esp
40acb1:	8b dc                	mov    %esp,%ebx
40acb3:	ba 0a 00 00 00       	mov    $0xa,%edx
40acb8:	89 13                	mov    %edx,(%ebx)
40acba:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40acbd:	89 53 04             	mov    %edx,0x4(%ebx)
40acc0:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40acc5:	89 4b 08             	mov    %ecx,0x8(%ebx)
40acc8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40accb:	68 9c 7d 40 00       	push   $0x407d9c
40acd0:	50                   	push   %eax
40acd1:	8b f0                	mov    %eax,%esi
40acd3:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40acd6:	ff 57 60             	call   *0x60(%edi)
40acd9:	db e2                	fnclex
40acdb:	85 c0                	test   %eax,%eax
40acdd:	7d 0f                	jge    0x40acee
40acdf:	6a 60                	push   $0x60
40ace1:	68 d4 7c 40 00       	push   $0x407cd4
40ace6:	56                   	push   %esi
40ace7:	50                   	push   %eax
40ace8:	ff 15 48 10 40 00    	call   *0x401048
40acee:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40acf1:	ff 15 ac 11 40 00    	call   *0x4011ac
40acf7:	68 94 77 40 00       	push   $0x407794
40acfc:	ff 15 88 10 40 00    	call   *0x401088
40ad02:	dd 05 d8 11 40 00    	fldl   0x4011d8
40ad08:	52                   	push   %edx
40ad09:	50                   	push   %eax
40ad0a:	ff 15 f4 10 40 00    	call   *0x4010f4
40ad10:	85 c0                	test   %eax,%eax
40ad12:	0f 84 8c 00 00 00    	je     0x40ada4
40ad18:	a1 38 03 41 00       	mov    0x410338,%eax
40ad1d:	85 c0                	test   %eax,%eax
40ad1f:	75 10                	jne    0x40ad31
40ad21:	68 38 03 41 00       	push   $0x410338
40ad26:	68 c4 7c 40 00       	push   $0x407cc4
40ad2b:	ff 15 28 11 40 00    	call   *0x401128
40ad31:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ad37:	8b 16                	mov    (%esi),%edx
40ad39:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ad3c:	50                   	push   %eax
40ad3d:	56                   	push   %esi
40ad3e:	ff 52 1c             	call   *0x1c(%edx)
40ad41:	db e2                	fnclex
40ad43:	85 c0                	test   %eax,%eax
40ad45:	7d 0f                	jge    0x40ad56
40ad47:	6a 1c                	push   $0x1c
40ad49:	68 b4 7c 40 00       	push   $0x407cb4
40ad4e:	56                   	push   %esi
40ad4f:	50                   	push   %eax
40ad50:	ff 15 48 10 40 00    	call   *0x401048
40ad56:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ad59:	8b 38                	mov    (%eax),%edi
40ad5b:	83 ec 10             	sub    $0x10,%esp
40ad5e:	8b dc                	mov    %esp,%ebx
40ad60:	ba 0a 00 00 00       	mov    $0xa,%edx
40ad65:	89 13                	mov    %edx,(%ebx)
40ad67:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40ad6a:	89 53 04             	mov    %edx,0x4(%ebx)
40ad6d:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ad72:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ad75:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ad78:	68 b8 7d 40 00       	push   $0x407db8
40ad7d:	50                   	push   %eax
40ad7e:	8b f0                	mov    %eax,%esi
40ad80:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ad83:	ff 57 60             	call   *0x60(%edi)
40ad86:	db e2                	fnclex
40ad88:	85 c0                	test   %eax,%eax
40ad8a:	7d 0f                	jge    0x40ad9b
40ad8c:	6a 60                	push   $0x60
40ad8e:	68 d4 7c 40 00       	push   $0x407cd4
40ad93:	56                   	push   %esi
40ad94:	50                   	push   %eax
40ad95:	ff 15 48 10 40 00    	call   *0x401048
40ad9b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ad9e:	ff 15 ac 11 40 00    	call   *0x4011ac
40ada4:	9b                   	fwait
40ada5:	68 c7 ad 40 00       	push   $0x40adc7
40adaa:	eb 0a                	jmp    0x40adb6
40adac:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40adaf:	ff 15 ac 11 40 00    	call   *0x4011ac
40adb5:	c3                   	ret
40adb6:	8b 35 a8 11 40 00    	mov    0x4011a8,%esi
40adbc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40adbf:	ff d6                	call   *%esi
40adc1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40adc4:	ff d6                	call   *%esi
40adc6:	c3                   	ret
40adc7:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
40adcb:	8b 55 20             	mov    0x20(%ebp),%edx
40adce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40add1:	5f                   	pop    %edi
40add2:	66 89 02             	mov    %ax,(%edx)
40add5:	5e                   	pop    %esi
40add6:	33 c0                	xor    %eax,%eax
40add8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40addf:	5b                   	pop    %ebx
40ade0:	8b e5                	mov    %ebp,%esp
40ade2:	5d                   	pop    %ebp
40ade3:	c2 1c 00             	ret    $0x1c
40ade6:	90                   	nop
40ade7:	90                   	nop
40ade8:	90                   	nop
40ade9:	90                   	nop
40adea:	90                   	nop
40adeb:	90                   	nop
40adec:	90                   	nop
40aded:	90                   	nop
40adee:	90                   	nop
40adef:	90                   	nop
40adf0:	55                   	push   %ebp
40adf1:	8b ec                	mov    %esp,%ebp
40adf3:	83 ec 08             	sub    $0x8,%esp
40adf6:	68 c6 12 40 00       	push   $0x4012c6
40adfb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ae01:	50                   	push   %eax
40ae02:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40ae09:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
40ae0f:	53                   	push   %ebx
40ae10:	56                   	push   %esi
40ae11:	57                   	push   %edi
40ae12:	89 65 f8             	mov    %esp,-0x8(%ebp)
40ae15:	c7 45 fc f0 11 40 00 	movl   $0x4011f0,-0x4(%ebp)
40ae1c:	8b 55 0c             	mov    0xc(%ebp),%edx
40ae1f:	33 c0                	xor    %eax,%eax
40ae21:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ae24:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ae27:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ae2a:	89 45 e8             	mov    %eax,-0x18(%ebp)
40ae2d:	89 45 e0             	mov    %eax,-0x20(%ebp)
40ae30:	89 45 d0             	mov    %eax,-0x30(%ebp)
40ae33:	89 45 c0             	mov    %eax,-0x40(%ebp)
40ae36:	89 45 b0             	mov    %eax,-0x50(%ebp)
40ae39:	89 45 a0             	mov    %eax,-0x60(%ebp)
40ae3c:	ff 15 44 11 40 00    	call   *0x401144
40ae42:	68 94 77 40 00       	push   $0x407794
40ae47:	ff 15 2c 11 40 00    	call   *0x40112c
40ae4d:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40ae53:	df e0                	fnstsw %ax
40ae55:	f6 c4 40             	test   $0x40,%ah
40ae58:	0f 85 97 00 00 00    	jne    0x40aef5
40ae5e:	ff 15 5c 11 40 00    	call   *0x40115c
40ae64:	8b 1d 74 10 40 00    	mov    0x401074,%ebx
40ae6a:	50                   	push   %eax
40ae6b:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ae6e:	50                   	push   %eax
40ae6f:	ff d3                	call   *%ebx
40ae71:	8d 55 a0             	lea    -0x60(%ebp),%edx
40ae74:	52                   	push   %edx
40ae75:	8d 55 b0             	lea    -0x50(%ebp),%edx
40ae78:	52                   	push   %edx
40ae79:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ae7c:	52                   	push   %edx
40ae7d:	8d 55 d0             	lea    -0x30(%ebp),%edx
40ae80:	bf 04 00 02 80       	mov    $0x80020004,%edi
40ae85:	be 0a 00 00 00       	mov    $0xa,%esi
40ae8a:	52                   	push   %edx
40ae8b:	68 aa 51 00 00       	push   $0x51aa
40ae90:	89 7d a8             	mov    %edi,-0x58(%ebp)
40ae93:	89 75 a0             	mov    %esi,-0x60(%ebp)
40ae96:	89 7d b8             	mov    %edi,-0x48(%ebp)
40ae99:	89 75 b0             	mov    %esi,-0x50(%ebp)
40ae9c:	89 7d c8             	mov    %edi,-0x38(%ebp)
40ae9f:	89 75 c0             	mov    %esi,-0x40(%ebp)
40aea2:	89 7d d8             	mov    %edi,-0x28(%ebp)
40aea5:	89 75 d0             	mov    %esi,-0x30(%ebp)
40aea8:	8b 08                	mov    (%eax),%ecx
40aeaa:	50                   	push   %eax
40aeab:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40aeb1:	ff 51 44             	call   *0x44(%ecx)
40aeb4:	db e2                	fnclex
40aeb6:	85 c0                	test   %eax,%eax
40aeb8:	7d 15                	jge    0x40aecf
40aeba:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40aec0:	6a 44                	push   $0x44
40aec2:	68 d0 7d 40 00       	push   $0x407dd0
40aec7:	51                   	push   %ecx
40aec8:	50                   	push   %eax
40aec9:	ff 15 48 10 40 00    	call   *0x401048
40aecf:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40aed2:	ff 15 ac 11 40 00    	call   *0x4011ac
40aed8:	8d 55 a0             	lea    -0x60(%ebp),%edx
40aedb:	52                   	push   %edx
40aedc:	8d 45 b0             	lea    -0x50(%ebp),%eax
40aedf:	50                   	push   %eax
40aee0:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40aee3:	51                   	push   %ecx
40aee4:	8d 55 d0             	lea    -0x30(%ebp),%edx
40aee7:	52                   	push   %edx
40aee8:	6a 04                	push   $0x4
40aeea:	ff 15 28 10 40 00    	call   *0x401028
40aef0:	83 c4 14             	add    $0x14,%esp
40aef3:	eb 10                	jmp    0x40af05
40aef5:	8b 1d 74 10 40 00    	mov    0x401074,%ebx
40aefb:	bf 04 00 02 80       	mov    $0x80020004,%edi
40af00:	be 0a 00 00 00       	mov    $0xa,%esi
40af05:	68 94 77 40 00       	push   $0x407794
40af0a:	ff 15 2c 11 40 00    	call   *0x40112c
40af10:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40af16:	df e0                	fnstsw %ax
40af18:	f6 c4 40             	test   $0x40,%ah
40af1b:	0f 85 85 00 00 00    	jne    0x40afa6
40af21:	ff 15 5c 11 40 00    	call   *0x40115c
40af27:	50                   	push   %eax
40af28:	8d 45 e0             	lea    -0x20(%ebp),%eax
40af2b:	50                   	push   %eax
40af2c:	ff d3                	call   *%ebx
40af2e:	8d 55 a0             	lea    -0x60(%ebp),%edx
40af31:	52                   	push   %edx
40af32:	8d 55 b0             	lea    -0x50(%ebp),%edx
40af35:	52                   	push   %edx
40af36:	8d 55 c0             	lea    -0x40(%ebp),%edx
40af39:	52                   	push   %edx
40af3a:	8d 55 d0             	lea    -0x30(%ebp),%edx
40af3d:	52                   	push   %edx
40af3e:	68 29 06 00 00       	push   $0x629
40af43:	89 7d a8             	mov    %edi,-0x58(%ebp)
40af46:	89 75 a0             	mov    %esi,-0x60(%ebp)
40af49:	89 7d b8             	mov    %edi,-0x48(%ebp)
40af4c:	89 75 b0             	mov    %esi,-0x50(%ebp)
40af4f:	89 7d c8             	mov    %edi,-0x38(%ebp)
40af52:	89 75 c0             	mov    %esi,-0x40(%ebp)
40af55:	89 7d d8             	mov    %edi,-0x28(%ebp)
40af58:	89 75 d0             	mov    %esi,-0x30(%ebp)
40af5b:	8b 08                	mov    (%eax),%ecx
40af5d:	50                   	push   %eax
40af5e:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40af64:	ff 51 44             	call   *0x44(%ecx)
40af67:	db e2                	fnclex
40af69:	85 c0                	test   %eax,%eax
40af6b:	7d 15                	jge    0x40af82
40af6d:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40af73:	6a 44                	push   $0x44
40af75:	68 d0 7d 40 00       	push   $0x407dd0
40af7a:	51                   	push   %ecx
40af7b:	50                   	push   %eax