40abb7:	8b 35 38 03 41 00    	mov    0x410338,%esi
40abbd:	8b 16                	mov    (%esi),%edx
40abbf:	8d 45 e0             	lea    -0x20(%ebp),%eax
40abc2:	50                   	push   %eax
40abc3:	56                   	push   %esi
40abc4:	ff 52 1c             	call   *0x1c(%edx)
40abc7:	db e2                	fnclex
40abc9:	85 c0                	test   %eax,%eax
40abcb:	7d 0f                	jge    0x40abdc
40abcd:	6a 1c                	push   $0x1c
40abcf:	68 98 7c 40 00       	push   $0x407c98
40abd4:	56                   	push   %esi
40abd5:	50                   	push   %eax
40abd6:	ff 15 48 10 40 00    	call   *0x401048
40abdc:	8b 45 e0             	mov    -0x20(%ebp),%eax
40abdf:	8b 38                	mov    (%eax),%edi
40abe1:	83 ec 10             	sub    $0x10,%esp
40abe4:	8b dc                	mov    %esp,%ebx
40abe6:	ba 0a 00 00 00       	mov    $0xa,%edx
40abeb:	89 13                	mov    %edx,(%ebx)
40abed:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40abf0:	89 53 04             	mov    %edx,0x4(%ebx)
40abf3:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40abf8:	89 4b 08             	mov    %ecx,0x8(%ebx)
40abfb:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40abfe:	68 6c 7d 40 00       	push   $0x407d6c
40ac03:	50                   	push   %eax
40ac04:	8b f0                	mov    %eax,%esi
40ac06:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ac09:	ff 57 60             	call   *0x60(%edi)
40ac0c:	db e2                	fnclex
40ac0e:	85 c0                	test   %eax,%eax
40ac10:	7d 0f                	jge    0x40ac21
40ac12:	6a 60                	push   $0x60
40ac14:	68 b8 7c 40 00       	push   $0x407cb8
40ac19:	56                   	push   %esi
40ac1a:	50                   	push   %eax
40ac1b:	ff 15 48 10 40 00    	call   *0x401048
40ac21:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ac24:	ff 15 ac 11 40 00    	call   *0x4011ac
40ac2a:	68 78 77 40 00       	push   $0x407778
40ac2f:	ff 15 88 10 40 00    	call   *0x401088
40ac35:	dd 05 d8 11 40 00    	fldl   0x4011d8
40ac3b:	52                   	push   %edx
40ac3c:	50                   	push   %eax
40ac3d:	ff 15 f4 10 40 00    	call   *0x4010f4
40ac43:	85 c0                	test   %eax,%eax
40ac45:	0f 84 8c 00 00 00    	je     0x40acd7
40ac4b:	a1 38 03 41 00       	mov    0x410338,%eax
40ac50:	85 c0                	test   %eax,%eax
40ac52:	75 10                	jne    0x40ac64
40ac54:	68 38 03 41 00       	push   $0x410338
40ac59:	68 a8 7c 40 00       	push   $0x407ca8
40ac5e:	ff 15 2c 11 40 00    	call   *0x40112c
40ac64:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ac6a:	8b 16                	mov    (%esi),%edx
40ac6c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ac6f:	50                   	push   %eax
40ac70:	56                   	push   %esi
40ac71:	ff 52 1c             	call   *0x1c(%edx)
40ac74:	db e2                	fnclex
40ac76:	85 c0                	test   %eax,%eax
40ac78:	7d 0f                	jge    0x40ac89
40ac7a:	6a 1c                	push   $0x1c
40ac7c:	68 98 7c 40 00       	push   $0x407c98
40ac81:	56                   	push   %esi
40ac82:	50                   	push   %eax
40ac83:	ff 15 48 10 40 00    	call   *0x401048
40ac89:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ac8c:	8b 38                	mov    (%eax),%edi
40ac8e:	83 ec 10             	sub    $0x10,%esp
40ac91:	8b dc                	mov    %esp,%ebx
40ac93:	ba 0a 00 00 00       	mov    $0xa,%edx
40ac98:	89 13                	mov    %edx,(%ebx)
40ac9a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40ac9d:	89 53 04             	mov    %edx,0x4(%ebx)
40aca0:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40aca5:	89 4b 08             	mov    %ecx,0x8(%ebx)
40aca8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40acab:	68 80 7d 40 00       	push   $0x407d80
40acb0:	50                   	push   %eax
40acb1:	8b f0                	mov    %eax,%esi
40acb3:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40acb6:	ff 57 60             	call   *0x60(%edi)
40acb9:	db e2                	fnclex
40acbb:	85 c0                	test   %eax,%eax
40acbd:	7d 0f                	jge    0x40acce
40acbf:	6a 60                	push   $0x60
40acc1:	68 b8 7c 40 00       	push   $0x407cb8
40acc6:	56                   	push   %esi
40acc7:	50                   	push   %eax
40acc8:	ff 15 48 10 40 00    	call   *0x401048
40acce:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40acd1:	ff 15 ac 11 40 00    	call   *0x4011ac
40acd7:	68 78 77 40 00       	push   $0x407778
40acdc:	ff 15 88 10 40 00    	call   *0x401088
40ace2:	dd 05 d8 11 40 00    	fldl   0x4011d8
40ace8:	52                   	push   %edx
40ace9:	50                   	push   %eax
40acea:	ff 15 f4 10 40 00    	call   *0x4010f4
40acf0:	85 c0                	test   %eax,%eax
40acf2:	0f 84 8c 00 00 00    	je     0x40ad84
40acf8:	a1 38 03 41 00       	mov    0x410338,%eax
40acfd:	85 c0                	test   %eax,%eax
40acff:	75 10                	jne    0x40ad11
40ad01:	68 38 03 41 00       	push   $0x410338
40ad06:	68 a8 7c 40 00       	push   $0x407ca8
40ad0b:	ff 15 2c 11 40 00    	call   *0x40112c
40ad11:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ad17:	8b 16                	mov    (%esi),%edx
40ad19:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ad1c:	50                   	push   %eax
40ad1d:	56                   	push   %esi
40ad1e:	ff 52 1c             	call   *0x1c(%edx)
40ad21:	db e2                	fnclex
40ad23:	85 c0                	test   %eax,%eax
40ad25:	7d 0f                	jge    0x40ad36
40ad27:	6a 1c                	push   $0x1c
40ad29:	68 98 7c 40 00       	push   $0x407c98
40ad2e:	56                   	push   %esi
40ad2f:	50                   	push   %eax
40ad30:	ff 15 48 10 40 00    	call   *0x401048
40ad36:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ad39:	8b 38                	mov    (%eax),%edi
40ad3b:	83 ec 10             	sub    $0x10,%esp
40ad3e:	8b dc                	mov    %esp,%ebx
40ad40:	ba 0a 00 00 00       	mov    $0xa,%edx
40ad45:	89 13                	mov    %edx,(%ebx)
40ad47:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40ad4a:	89 53 04             	mov    %edx,0x4(%ebx)
40ad4d:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ad52:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ad55:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ad58:	68 9c 7d 40 00       	push   $0x407d9c
40ad5d:	50                   	push   %eax
40ad5e:	8b f0                	mov    %eax,%esi
40ad60:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ad63:	ff 57 60             	call   *0x60(%edi)
40ad66:	db e2                	fnclex
40ad68:	85 c0                	test   %eax,%eax
40ad6a:	7d 0f                	jge    0x40ad7b
40ad6c:	6a 60                	push   $0x60
40ad6e:	68 b8 7c 40 00       	push   $0x407cb8
40ad73:	56                   	push   %esi
40ad74:	50                   	push   %eax
40ad75:	ff 15 48 10 40 00    	call   *0x401048
40ad7b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ad7e:	ff 15 ac 11 40 00    	call   *0x4011ac
40ad84:	9b                   	fwait
40ad85:	68 a7 ad 40 00       	push   $0x40ada7
40ad8a:	eb 0a                	jmp    0x40ad96
40ad8c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ad8f:	ff 15 ac 11 40 00    	call   *0x4011ac
40ad95:	c3                   	ret
40ad96:	8b 35 a8 11 40 00    	mov    0x4011a8,%esi
40ad9c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ad9f:	ff d6                	call   *%esi
40ada1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40ada4:	ff d6                	call   *%esi
40ada6:	c3                   	ret
40ada7:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
40adab:	8b 55 20             	mov    0x20(%ebp),%edx
40adae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40adb1:	5f                   	pop    %edi
40adb2:	66 89 02             	mov    %ax,(%edx)
40adb5:	5e                   	pop    %esi
40adb6:	33 c0                	xor    %eax,%eax
40adb8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40adbf:	5b                   	pop    %ebx
40adc0:	8b e5                	mov    %ebp,%esp
40adc2:	5d                   	pop    %ebp
40adc3:	c2 1c 00             	ret    $0x1c
40adc6:	90                   	nop
40adc7:	90                   	nop
40adc8:	90                   	nop
40adc9:	90                   	nop
40adca:	90                   	nop
40adcb:	90                   	nop
40adcc:	90                   	nop
40adcd:	90                   	nop
40adce:	90                   	nop
40adcf:	90                   	nop
40add0:	55                   	push   %ebp
40add1:	8b ec                	mov    %esp,%ebp
40add3:	83 ec 08             	sub    $0x8,%esp
40add6:	68 b6 12 40 00       	push   $0x4012b6
40addb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ade1:	50                   	push   %eax
40ade2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40ade9:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
40adef:	53                   	push   %ebx
40adf0:	56                   	push   %esi
40adf1:	57                   	push   %edi
40adf2:	89 65 f8             	mov    %esp,-0x8(%ebp)
40adf5:	c7 45 fc f0 11 40 00 	movl   $0x4011f0,-0x4(%ebp)
40adfc:	8b 55 0c             	mov    0xc(%ebp),%edx
40adff:	33 c0                	xor    %eax,%eax
40ae01:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ae04:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ae07:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ae0a:	89 45 e8             	mov    %eax,-0x18(%ebp)
40ae0d:	89 45 e0             	mov    %eax,-0x20(%ebp)
40ae10:	89 45 d0             	mov    %eax,-0x30(%ebp)
40ae13:	89 45 c0             	mov    %eax,-0x40(%ebp)
40ae16:	89 45 b0             	mov    %eax,-0x50(%ebp)
40ae19:	89 45 a0             	mov    %eax,-0x60(%ebp)
40ae1c:	ff 15 48 11 40 00    	call   *0x401148
40ae22:	68 78 77 40 00       	push   $0x407778
40ae27:	ff 15 30 11 40 00    	call   *0x401130
40ae2d:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40ae33:	df e0                	fnstsw %ax
40ae35:	f6 c4 40             	test   $0x40,%ah
40ae38:	0f 85 97 00 00 00    	jne    0x40aed5
40ae3e:	ff 15 60 11 40 00    	call   *0x401160
40ae44:	8b 1d 74 10 40 00    	mov    0x401074,%ebx
40ae4a:	50                   	push   %eax
40ae4b:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ae4e:	50                   	push   %eax
40ae4f:	ff d3                	call   *%ebx
40ae51:	8d 55 a0             	lea    -0x60(%ebp),%edx
40ae54:	52                   	push   %edx
40ae55:	8d 55 b0             	lea    -0x50(%ebp),%edx
40ae58:	52                   	push   %edx
40ae59:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ae5c:	52                   	push   %edx
40ae5d:	8d 55 d0             	lea    -0x30(%ebp),%edx
40ae60:	bf 04 00 02 80       	mov    $0x80020004,%edi
40ae65:	be 0a 00 00 00       	mov    $0xa,%esi
40ae6a:	52                   	push   %edx
40ae6b:	68 aa 51 00 00       	push   $0x51aa
40ae70:	89 7d a8             	mov    %edi,-0x58(%ebp)
40ae73:	89 75 a0             	mov    %esi,-0x60(%ebp)
40ae76:	89 7d b8             	mov    %edi,-0x48(%ebp)
40ae79:	89 75 b0             	mov    %esi,-0x50(%ebp)
40ae7c:	89 7d c8             	mov    %edi,-0x38(%ebp)
40ae7f:	89 75 c0             	mov    %esi,-0x40(%ebp)
40ae82:	89 7d d8             	mov    %edi,-0x28(%ebp)
40ae85:	89 75 d0             	mov    %esi,-0x30(%ebp)
40ae88:	8b 08                	mov    (%eax),%ecx
40ae8a:	50                   	push   %eax
40ae8b:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40ae91:	ff 51 44             	call   *0x44(%ecx)
40ae94:	db e2                	fnclex
40ae96:	85 c0                	test   %eax,%eax
40ae98:	7d 15                	jge    0x40aeaf
40ae9a:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40aea0:	6a 44                	push   $0x44
40aea2:	68 b4 7d 40 00       	push   $0x407db4
40aea7:	51                   	push   %ecx
40aea8:	50                   	push   %eax
40aea9:	ff 15 48 10 40 00    	call   *0x401048
40aeaf:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40aeb2:	ff 15 ac 11 40 00    	call   *0x4011ac
40aeb8:	8d 55 a0             	lea    -0x60(%ebp),%edx
40aebb:	52                   	push   %edx
40aebc:	8d 45 b0             	lea    -0x50(%ebp),%eax
40aebf:	50                   	push   %eax
40aec0:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40aec3:	51                   	push   %ecx
40aec4:	8d 55 d0             	lea    -0x30(%ebp),%edx
40aec7:	52                   	push   %edx
40aec8:	6a 04                	push   $0x4
40aeca:	ff 15 28 10 40 00    	call   *0x401028
40aed0:	83 c4 14             	add    $0x14,%esp
40aed3:	eb 10                	jmp    0x40aee5
40aed5:	8b 1d 74 10 40 00    	mov    0x401074,%ebx
40aedb:	bf 04 00 02 80       	mov    $0x80020004,%edi
40aee0:	be 0a 00 00 00       	mov    $0xa,%esi
40aee5:	68 78 77 40 00       	push   $0x407778
40aeea:	ff 15 30 11 40 00    	call   *0x401130
40aef0:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40aef6:	df e0                	fnstsw %ax
40aef8:	f6 c4 40             	test   $0x40,%ah
40aefb:	0f 85 85 00 00 00    	jne    0x40af86
40af01:	ff 15 60 11 40 00    	call   *0x401160
40af07:	50                   	push   %eax
40af08:	8d 45 e0             	lea    -0x20(%ebp),%eax
40af0b:	50                   	push   %eax
40af0c:	ff d3                	call   *%ebx
40af0e:	8d 55 a0             	lea    -0x60(%ebp),%edx
40af11:	52                   	push   %edx
40af12:	8d 55 b0             	lea    -0x50(%ebp),%edx
40af15:	52                   	push   %edx
40af16:	8d 55 c0             	lea    -0x40(%ebp),%edx
40af19:	52                   	push   %edx
40af1a:	8d 55 d0             	lea    -0x30(%ebp),%edx
40af1d:	52                   	push   %edx
40af1e:	68 29 06 00 00       	push   $0x629
40af23:	89 7d a8             	mov    %edi,-0x58(%ebp)
40af26:	89 75 a0             	mov    %esi,-0x60(%ebp)
40af29:	89 7d b8             	mov    %edi,-0x48(%ebp)
40af2c:	89 75 b0             	mov    %esi,-0x50(%ebp)
40af2f:	89 7d c8             	mov    %edi,-0x38(%ebp)
40af32:	89 75 c0             	mov    %esi,-0x40(%ebp)
40af35:	89 7d d8             	mov    %edi,-0x28(%ebp)
40af38:	89 75 d0             	mov    %esi,-0x30(%ebp)
40af3b:	8b 08                	mov    (%eax),%ecx
40af3d:	50                   	push   %eax
40af3e:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40af44:	ff 51 44             	call   *0x44(%ecx)
40af47:	db e2                	fnclex
40af49:	85 c0                	test   %eax,%eax
40af4b:	7d 15                	jge    0x40af62
40af4d:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40af53:	6a 44                	push   $0x44
40af55:	68 b4 7d 40 00       	push   $0x407db4
40af5a:	51                   	push   %ecx
40af5b:	50                   	push   %eax
40af5c:	ff 15 48 10 40 00    	call   *0x401048
40af62:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40af65:	ff 15 ac 11 40 00    	call   *0x4011ac
40af6b:	8d 55 a0             	lea    -0x60(%ebp),%edx
40af6e:	52                   	push   %edx
40af6f:	8d 45 b0             	lea    -0x50(%ebp),%eax
40af72:	50                   	push   %eax
40af73:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40af76:	51                   	push   %ecx
40af77:	8d 55 d0             	lea    -0x30(%ebp),%edx
40af7a:	52                   	push   %edx
40af7b:	6a 04                	push   $0x4
40af7d:	ff 15 28 10 40 00    	call   *0x401028
40af83:	83 c4 14             	add    $0x14,%esp
40af86:	68 78 77 40 00       	push   $0x407778
40af8b:	ff 15 30 11 40 00    	call   *0x401130
40af91:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40af97:	df e0                	fnstsw %ax
40af99:	f6 c4 40             	test   $0x40,%ah
40af9c:	0f 85 85 00 00 00    	jne    0x40b027
40afa2:	ff 15 60 11 40 00    	call   *0x401160
40afa8:	50                   	push   %eax
40afa9:	8d 45 e0             	lea    -0x20(%ebp),%eax
40afac:	50                   	push   %eax
40afad:	ff d3                	call   *%ebx
40afaf:	8d 55 a0             	lea    -0x60(%ebp),%edx
40afb2:	52                   	push   %edx
40afb3:	8d 55 b0             	lea    -0x50(%ebp),%edx
40afb6:	52                   	push   %edx
40afb7:	8d 55 c0             	lea    -0x40(%ebp),%edx
40afba:	52                   	push   %edx
40afbb:	8d 55 d0             	lea    -0x30(%ebp),%edx
40afbe:	52                   	push   %edx
40afbf:	68 e5 56 00 00       	push   $0x56e5
40afc4:	89 7d a8             	mov    %edi,-0x58(%ebp)
40afc7:	89 75 a0             	mov    %esi,-0x60(%ebp)
40afca:	89 7d b8             	mov    %edi,-0x48(%ebp)
40afcd:	89 75 b0             	mov    %esi,-0x50(%ebp)
40afd0:	89 7d c8             	mov    %edi,-0x38(%ebp)
40afd3:	89 75 c0             	mov    %esi,-0x40(%ebp)
40afd6:	89 7d d8             	mov    %edi,-0x28(%ebp)
40afd9:	89 75 d0             	mov    %esi,-0x30(%ebp)