409882:	85 c0                	test   %eax,%eax
409884:	7d 0b                	jge    0x409891
409886:	6a 40                	push   $0x40
409888:	68 b4 60 40 00       	push   $0x4060b4
40988d:	56                   	push   %esi
40988e:	50                   	push   %eax
40988f:	ff d3                	call   *%ebx
409891:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409894:	ff 15 d0 11 40 00    	call   *0x4011d0
40989a:	9b                   	fwait
40989b:	68 00 99 40 00       	push   $0x409900
4098a0:	eb 2d                	jmp    0x4098cf
4098a2:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4098a5:	ff 15 cc 11 40 00    	call   *0x4011cc
4098ab:	8d 45 ac             	lea    -0x54(%ebp),%eax
4098ae:	50                   	push   %eax
4098af:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4098b2:	51                   	push   %ecx
4098b3:	6a 02                	push   $0x2
4098b5:	ff 15 40 10 40 00    	call   *0x401040
4098bb:	8d 55 8c             	lea    -0x74(%ebp),%edx
4098be:	52                   	push   %edx
4098bf:	8d 45 9c             	lea    -0x64(%ebp),%eax
4098c2:	50                   	push   %eax
4098c3:	6a 02                	push   $0x2
4098c5:	ff 15 28 10 40 00    	call   *0x401028
4098cb:	83 c4 18             	add    $0x18,%esp
4098ce:	c3                   	ret
4098cf:	8b 35 1c 10 40 00    	mov    0x40101c,%esi
4098d5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4098d8:	ff d6                	call   *%esi
4098da:	8b 3d d0 11 40 00    	mov    0x4011d0,%edi
4098e0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4098e3:	ff d7                	call   *%edi
4098e5:	8b 1d cc 11 40 00    	mov    0x4011cc,%ebx
4098eb:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4098ee:	ff d3                	call   *%ebx
4098f0:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4098f3:	ff d3                	call   *%ebx
4098f5:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4098f8:	ff d6                	call   *%esi
4098fa:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4098fd:	ff d7                	call   *%edi
4098ff:	c3                   	ret
409900:	8b 45 08             	mov    0x8(%ebp),%eax
409903:	8b 08                	mov    (%eax),%ecx
409905:	50                   	push   %eax
409906:	ff 51 08             	call   *0x8(%ecx)
409909:	8b 45 fc             	mov    -0x4(%ebp),%eax
40990c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40990f:	5f                   	pop    %edi
409910:	5e                   	pop    %esi
409911:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409918:	5b                   	pop    %ebx
409919:	8b e5                	mov    %ebp,%esp
40991b:	5d                   	pop    %ebp
40991c:	c2 0c 00             	ret    $0xc
40991f:	90                   	nop
409920:	55                   	push   %ebp
409921:	8b ec                	mov    %esp,%ebp
409923:	83 ec 0c             	sub    $0xc,%esp
409926:	68 26 13 40 00       	push   $0x401326
40992b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409931:	50                   	push   %eax
409932:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409939:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
40993f:	53                   	push   %ebx
409940:	56                   	push   %esi
409941:	57                   	push   %edi
409942:	89 65 f4             	mov    %esp,-0xc(%ebp)
409945:	c7 45 f8 b8 12 40 00 	movl   $0x4012b8,-0x8(%ebp)
40994c:	33 f6                	xor    %esi,%esi
40994e:	89 75 fc             	mov    %esi,-0x4(%ebp)
409951:	8b 5d 08             	mov    0x8(%ebp),%ebx
409954:	8b 03                	mov    (%ebx),%eax
409956:	53                   	push   %ebx
409957:	ff 50 04             	call   *0x4(%eax)
40995a:	8b 55 10             	mov    0x10(%ebp),%edx
40995d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409960:	89 75 e8             	mov    %esi,-0x18(%ebp)
409963:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409966:	89 75 e0             	mov    %esi,-0x20(%ebp)
409969:	89 75 dc             	mov    %esi,-0x24(%ebp)
40996c:	89 75 d8             	mov    %esi,-0x28(%ebp)
40996f:	89 75 d4             	mov    %esi,-0x2c(%ebp)
409972:	89 75 d0             	mov    %esi,-0x30(%ebp)
409975:	89 75 cc             	mov    %esi,-0x34(%ebp)
409978:	89 75 bc             	mov    %esi,-0x44(%ebp)
40997b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40997e:	89 75 9c             	mov    %esi,-0x64(%ebp)
409981:	89 75 8c             	mov    %esi,-0x74(%ebp)
409984:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
40998a:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
409990:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
409996:	89 b5 4c ff ff ff    	mov    %esi,-0xb4(%ebp)
40999c:	ff 15 6c 11 40 00    	call   *0x40116c
4099a2:	68 84 62 40 00       	push   $0x406284
4099a7:	ff 15 74 11 40 00    	call   *0x401174
4099ad:	83 f8 02             	cmp    $0x2,%eax
4099b0:	0f 84 d3 00 00 00    	je     0x409a89
4099b6:	b9 04 00 02 80       	mov    $0x80020004,%ecx
4099bb:	b8 0a 00 00 00       	mov    $0xa,%eax
4099c0:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4099c6:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
4099cc:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
4099cf:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
4099d2:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4099d5:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4099d8:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
4099de:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4099e1:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
4099e7:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
4099ed:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4099f3:	89 45 8c             	mov    %eax,-0x74(%ebp)
4099f6:	89 45 9c             	mov    %eax,-0x64(%ebp)
4099f9:	89 45 ac             	mov    %eax,-0x54(%ebp)
4099fc:	c7 85 54 ff ff ff 40 	movl   $0x406740,-0xac(%ebp)
409a03:	67 40 00
409a06:	c7 85 4c ff ff ff 08 	movl   $0x8,-0xb4(%ebp)
409a0d:	00 00 00
409a10:	ff 15 98 11 40 00    	call   *0x401198
409a16:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
409a1c:	51                   	push   %ecx
409a1d:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
409a23:	52                   	push   %edx
409a24:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
409a2a:	50                   	push   %eax
409a2b:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
409a2e:	51                   	push   %ecx
409a2f:	8d 55 9c             	lea    -0x64(%ebp),%edx
409a32:	52                   	push   %edx
409a33:	8d 45 ac             	lea    -0x54(%ebp),%eax
409a36:	50                   	push   %eax
409a37:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409a3a:	51                   	push   %ecx
409a3b:	ff 15 88 10 40 00    	call   *0x401088
409a41:	8b 3d b0 11 40 00    	mov    0x4011b0,%edi
409a47:	8b d0                	mov    %eax,%edx
409a49:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409a4c:	ff d7                	call   *%edi
409a4e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409a51:	ff 15 cc 11 40 00    	call   *0x4011cc
409a57:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
409a5d:	52                   	push   %edx
409a5e:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
409a64:	50                   	push   %eax
409a65:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
409a6b:	51                   	push   %ecx
409a6c:	8d 55 8c             	lea    -0x74(%ebp),%edx
409a6f:	52                   	push   %edx
409a70:	8d 45 9c             	lea    -0x64(%ebp),%eax
409a73:	50                   	push   %eax
409a74:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409a77:	51                   	push   %ecx
409a78:	8d 55 bc             	lea    -0x44(%ebp),%edx
409a7b:	52                   	push   %edx
409a7c:	6a 07                	push   $0x7
409a7e:	ff 15 28 10 40 00    	call   *0x401028
409a84:	83 c4 20             	add    $0x20,%esp
409a87:	eb 06                	jmp    0x409a8f
409a89:	8b 3d b0 11 40 00    	mov    0x4011b0,%edi
409a8f:	8b 35 4c 10 40 00    	mov    0x40104c,%esi
409a95:	68 a4 63 40 00       	push   $0x4063a4
409a9a:	68 5c 67 40 00       	push   $0x40675c
409a9f:	ff d6                	call   *%esi
409aa1:	8b d0                	mov    %eax,%edx
409aa3:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409aa6:	ff d7                	call   *%edi
409aa8:	50                   	push   %eax
409aa9:	68 68 67 40 00       	push   $0x406768
409aae:	ff d6                	call   *%esi
409ab0:	8b d0                	mov    %eax,%edx
409ab2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
409ab5:	ff d7                	call   *%edi
409ab7:	50                   	push   %eax
409ab8:	68 74 67 40 00       	push   $0x406774
409abd:	ff d6                	call   *%esi
409abf:	8b d0                	mov    %eax,%edx
409ac1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409ac4:	ff d7                	call   *%edi
409ac6:	50                   	push   %eax
409ac7:	68 a4 63 40 00       	push   $0x4063a4
409acc:	ff d6                	call   *%esi
409ace:	8b d0                	mov    %eax,%edx
409ad0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409ad3:	ff d7                	call   *%edi
409ad5:	50                   	push   %eax
409ad6:	68 84 62 40 00       	push   $0x406284
409adb:	ff d6                	call   *%esi
409add:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409ae0:	8d 45 bc             	lea    -0x44(%ebp),%eax
409ae3:	50                   	push   %eax
409ae4:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409ae7:	51                   	push   %ecx
409ae8:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
409aef:	ff 15 c0 11 40 00    	call   *0x4011c0
409af5:	8d 55 ac             	lea    -0x54(%ebp),%edx
409af8:	52                   	push   %edx
409af9:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
409aff:	50                   	push   %eax
409b00:	c7 85 54 ff ff ff 0c 	movl   $0xc,-0xac(%ebp)
409b07:	00 00 00
409b0a:	c7 85 4c ff ff ff 02 	movl   $0x8002,-0xb4(%ebp)
409b11:	80 00 00
409b14:	ff 15 88 11 40 00    	call   *0x401188
409b1a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409b1d:	51                   	push   %ecx
409b1e:	8d 55 d4             	lea    -0x2c(%ebp),%edx
409b21:	52                   	push   %edx
409b22:	66 89 85 e8 fe ff ff 	mov    %ax,-0x118(%ebp)
409b29:	8d 45 d8             	lea    -0x28(%ebp),%eax
409b2c:	50                   	push   %eax
409b2d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409b30:	51                   	push   %ecx
409b31:	6a 04                	push   $0x4
409b33:	ff 15 78 11 40 00    	call   *0x401178
409b39:	8d 55 ac             	lea    -0x54(%ebp),%edx
409b3c:	52                   	push   %edx
409b3d:	8d 45 bc             	lea    -0x44(%ebp),%eax
409b40:	50                   	push   %eax
409b41:	6a 02                	push   $0x2
409b43:	ff 15 28 10 40 00    	call   *0x401028
409b49:	83 c4 20             	add    $0x20,%esp
409b4c:	66 83 bd e8 fe ff ff 	cmpw   $0x0,-0x118(%ebp)
409b53:	00
409b54:	0f 84 93 00 00 00    	je     0x409bed
409b5a:	a1 38 b3 40 00       	mov    0x40b338,%eax
409b5f:	85 c0                	test   %eax,%eax
409b61:	75 10                	jne    0x409b73
409b63:	68 38 b3 40 00       	push   $0x40b338
409b68:	68 c4 60 40 00       	push   $0x4060c4
409b6d:	ff 15 4c 11 40 00    	call   *0x40114c
409b73:	a1 38 b3 40 00       	mov    0x40b338,%eax
409b78:	8b 08                	mov    (%eax),%ecx
409b7a:	8d 55 cc             	lea    -0x34(%ebp),%edx
409b7d:	52                   	push   %edx
409b7e:	50                   	push   %eax
409b7f:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
409b85:	ff 51 4c             	call   *0x4c(%ecx)
409b88:	db e2                	fnclex
409b8a:	85 c0                	test   %eax,%eax
409b8c:	7d 15                	jge    0x409ba3
409b8e:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
409b94:	6a 4c                	push   $0x4c
409b96:	68 b4 60 40 00       	push   $0x4060b4
409b9b:	51                   	push   %ecx
409b9c:	50                   	push   %eax
409b9d:	ff 15 58 10 40 00    	call   *0x401058
409ba3:	8b 45 cc             	mov    -0x34(%ebp),%eax
409ba6:	8b 10                	mov    (%eax),%edx
409ba8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409bab:	51                   	push   %ecx
409bac:	68 98 67 40 00       	push   $0x406798
409bb1:	68 7c 67 40 00       	push   $0x40677c
409bb6:	50                   	push   %eax
409bb7:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
409bbd:	ff 52 24             	call   *0x24(%edx)
409bc0:	db e2                	fnclex
409bc2:	85 c0                	test   %eax,%eax
409bc4:	7d 15                	jge    0x409bdb
409bc6:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
409bcc:	6a 24                	push   $0x24
409bce:	68 4c 65 40 00       	push   $0x40654c
409bd3:	52                   	push   %edx
409bd4:	50                   	push   %eax
409bd5:	ff 15 58 10 40 00    	call   *0x401058
409bdb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409bde:	ff 15 cc 11 40 00    	call   *0x4011cc
409be4:	8d 4d cc             	lea    -0x34(%ebp),%ecx
409be7:	ff 15 d0 11 40 00    	call   *0x4011d0
409bed:	68 84 62 40 00       	push   $0x406284
409bf2:	ff 15 9c 10 40 00    	call   *0x40109c
409bf8:	dd 05 38 12 40 00    	fldl   0x401238
409bfe:	52                   	push   %edx
409bff:	50                   	push   %eax
409c00:	ff 15 28 11 40 00    	call   *0x401128
409c06:	85 c0                	test   %eax,%eax
409c08:	74 0d                	je     0x409c17
409c0a:	6a 01                	push   $0x1
409c0c:	68 bc 67 40 00       	push   $0x4067bc
409c11:	ff 15 d4 11 40 00    	call   *0x4011d4
409c17:	68 d4 67 40 00       	push   $0x4067d4
409c1c:	68 74 67 40 00       	push   $0x406774
409c21:	ff d6                	call   *%esi
409c23:	8b d0                	mov    %eax,%edx
409c25:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409c28:	ff d7                	call   *%edi
409c2a:	50                   	push   %eax
409c2b:	68 e0 67 40 00       	push   $0x4067e0
409c30:	ff d6                	call   *%esi
409c32:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409c35:	8d 45 bc             	lea    -0x44(%ebp),%eax
409c38:	50                   	push   %eax
409c39:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
409c40:	ff 15 5c 10 40 00    	call   *0x40105c
409c46:	33 c9                	xor    %ecx,%ecx
409c48:	66 3d ff ff          	cmp    $0xffff,%ax
409c4c:	0f 95 c1             	setne  %cl
409c4f:	f7 d9                	neg    %ecx
409c51:	66 8b f9             	mov    %cx,%di
409c54:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409c57:	ff 15 cc 11 40 00    	call   *0x4011cc
409c5d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409c60:	ff 15 1c 10 40 00    	call   *0x40101c
409c66:	66 85 ff             	test   %di,%di
409c69:	74 7b                	je     0x409ce6
409c6b:	8b 13                	mov    (%ebx),%edx
409c6d:	83 ec 10             	sub    $0x10,%esp
409c70:	8b fc                	mov    %esp,%edi
409c72:	b9 0a 00 00 00       	mov    $0xa,%ecx
409c77:	89 0f                	mov    %ecx,(%edi)
409c79:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409c7f:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
409c85:	89 4f 04             	mov    %ecx,0x4(%edi)
409c88:	b8 04 00 02 80       	mov    $0x80020004,%eax
409c8d:	89 47 08             	mov    %eax,0x8(%edi)
409c90:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409c96:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
409c9c:	89 47 0c             	mov    %eax,0xc(%edi)
409c9f:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
409ca5:	83 ec 10             	sub    $0x10,%esp
409ca8:	8b cc                	mov    %esp,%ecx
409caa:	89 01                	mov    %eax,(%ecx)
409cac:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
409cb2:	89 41 04             	mov    %eax,0x4(%ecx)
409cb5:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
409cbb:	89 41 08             	mov    %eax,0x8(%ecx)
409cbe:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409cc4:	53                   	push   %ebx
409cc5:	89 41 0c             	mov    %eax,0xc(%ecx)
409cc8:	ff 92 b0 02 00 00    	call   *0x2b0(%edx)
409cce:	db e2                	fnclex
409cd0:	85 c0                	test   %eax,%eax
409cd2:	7d 12                	jge    0x409ce6
409cd4:	68 b0 02 00 00       	push   $0x2b0
409cd9:	68 ec 5e 40 00       	push   $0x405eec
409cde:	53                   	push   %ebx
409cdf:	50                   	push   %eax
409ce0:	ff 15 58 10 40 00    	call   *0x401058
409ce6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409ce9:	51                   	push   %ecx
409cea:	ff 15 f0 10 40 00    	call   *0x4010f0
409cf0:	8d 55 bc             	lea    -0x44(%ebp),%edx
409cf3:	52                   	push   %edx
409cf4:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
409cfa:	50                   	push   %eax
409cfb:	c7 85 54 ff ff ff e8 	movl   $0x4067e8,-0xac(%ebp)
409d02:	67 40 00
409d05:	c7 85 4c ff ff ff 08 	movl   $0x8008,-0xb4(%ebp)
409d0c:	80 00 00