40bbc3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bbc6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bbc9:	5f                   	pop    %edi
40bbca:	5e                   	pop    %esi
40bbcb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bbd2:	5b                   	pop    %ebx
40bbd3:	8b e5                	mov    %ebp,%esp
40bbd5:	5d                   	pop    %ebp
40bbd6:	c2 24 00             	ret    $0x24
40bbd9:	90                   	nop
40bbda:	90                   	nop
40bbdb:	90                   	nop
40bbdc:	90                   	nop
40bbdd:	90                   	nop
40bbde:	90                   	nop
40bbdf:	90                   	nop
40bbe0:	55                   	push   %ebp
40bbe1:	8b ec                	mov    %esp,%ebp
40bbe3:	83 ec 0c             	sub    $0xc,%esp
40bbe6:	68 76 12 40 00       	push   $0x401276
40bbeb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bbf1:	50                   	push   %eax
40bbf2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40bbf9:	81 ec 98 00 00 00    	sub    $0x98,%esp
40bbff:	53                   	push   %ebx
40bc00:	56                   	push   %esi
40bc01:	57                   	push   %edi
40bc02:	89 65 f4             	mov    %esp,-0xc(%ebp)
40bc05:	c7 45 f8 30 12 40 00 	movl   $0x401230,-0x8(%ebp)
40bc0c:	33 ff                	xor    %edi,%edi
40bc0e:	89 7d fc             	mov    %edi,-0x4(%ebp)
40bc11:	8b 45 08             	mov    0x8(%ebp),%eax
40bc14:	8b 08                	mov    (%eax),%ecx
40bc16:	50                   	push   %eax
40bc17:	ff 51 04             	call   *0x4(%ecx)
40bc1a:	68 04 8f 40 00       	push   $0x408f04
40bc1f:	89 7d dc             	mov    %edi,-0x24(%ebp)
40bc22:	89 7d cc             	mov    %edi,-0x34(%ebp)
40bc25:	89 7d c8             	mov    %edi,-0x38(%ebp)
40bc28:	89 7d c4             	mov    %edi,-0x3c(%ebp)
40bc2b:	89 7d c0             	mov    %edi,-0x40(%ebp)
40bc2e:	89 7d b0             	mov    %edi,-0x50(%ebp)
40bc31:	89 7d a0             	mov    %edi,-0x60(%ebp)
40bc34:	89 7d 90             	mov    %edi,-0x70(%ebp)
40bc37:	89 7d 80             	mov    %edi,-0x80(%ebp)
40bc3a:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
40bc40:	ff 15 18 11 40 00    	call   *0x401118
40bc46:	dc 1d 98 11 40 00    	fcompl 0x401198
40bc4c:	df e0                	fnstsw %ax
40bc4e:	f6 c4 40             	test   $0x40,%ah
40bc51:	75 08                	jne    0x40bc5b
40bc53:	6a 19                	push   $0x19
40bc55:	ff 15 c4 10 40 00    	call   *0x4010c4
40bc5b:	68 bc 91 40 00       	push   $0x4091bc
40bc60:	ff 15 2c 10 40 00    	call   *0x40102c
40bc66:	66 3d 61 00          	cmp    $0x61,%ax
40bc6a:	74 48                	je     0x40bcb4
40bc6c:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40bc72:	75 10                	jne    0x40bc84
40bc74:	68 c8 d6 40 00       	push   $0x40d6c8
40bc79:	68 28 8f 40 00       	push   $0x408f28
40bc7e:	ff 15 14 11 40 00    	call   *0x401114
40bc84:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40bc8a:	8b 16                	mov    (%esi),%edx
40bc8c:	8d 45 c8             	lea    -0x38(%ebp),%eax
40bc8f:	50                   	push   %eax
40bc90:	6a 60                	push   $0x60
40bc92:	56                   	push   %esi
40bc93:	ff 52 48             	call   *0x48(%edx)
40bc96:	db e2                	fnclex
40bc98:	3b c7                	cmp    %edi,%eax
40bc9a:	7d 0f                	jge    0x40bcab
40bc9c:	6a 48                	push   $0x48
40bc9e:	68 18 8f 40 00       	push   $0x408f18
40bca3:	56                   	push   %esi
40bca4:	50                   	push   %eax
40bca5:	ff 15 44 10 40 00    	call   *0x401044
40bcab:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40bcae:	ff 15 90 11 40 00    	call   *0x401190
40bcb4:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40bcb7:	51                   	push   %ecx
40bcb8:	ff 15 54 11 40 00    	call   *0x401154
40bcbe:	8d 55 b0             	lea    -0x50(%ebp),%edx
40bcc1:	52                   	push   %edx
40bcc2:	ff 15 48 10 40 00    	call   *0x401048
40bcc8:	33 c9                	xor    %ecx,%ecx
40bcca:	66 3d ff ff          	cmp    $0xffff,%ax
40bcce:	0f 95 c1             	setne  %cl
40bcd1:	f7 d9                	neg    %ecx
40bcd3:	66 8b f1             	mov    %cx,%si
40bcd6:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40bcd9:	ff 15 18 10 40 00    	call   *0x401018
40bcdf:	66 3b f7             	cmp    %di,%si
40bce2:	0f 85 4c 01 00 00    	jne    0x40be34
40bce8:	8d 55 80             	lea    -0x80(%ebp),%edx
40bceb:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40bcee:	c7 45 88 04 8f 40 00 	movl   $0x408f04,-0x78(%ebp)
40bcf5:	c7 45 80 08 00 00 00 	movl   $0x8,-0x80(%ebp)
40bcfc:	ff 15 60 11 40 00    	call   *0x401160
40bd02:	8d 55 a0             	lea    -0x60(%ebp),%edx
40bd05:	52                   	push   %edx
40bd06:	8d 45 b0             	lea    -0x50(%ebp),%eax
40bd09:	50                   	push   %eax
40bd0a:	ff 15 b0 10 40 00    	call   *0x4010b0
40bd10:	3b c7                	cmp    %edi,%eax
40bd12:	7d 07                	jge    0x40bd1b
40bd14:	50                   	push   %eax
40bd15:	ff 15 0c 10 40 00    	call   *0x40100c
40bd1b:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40bd1e:	51                   	push   %ecx
40bd1f:	8d 95 70 ff ff ff    	lea    -0x90(%ebp),%edx
40bd25:	52                   	push   %edx
40bd26:	c7 85 78 ff ff ff 02 	movl   $0x2,-0x88(%ebp)
40bd2d:	00 00 00
40bd30:	c7 85 70 ff ff ff 02 	movl   $0x8002,-0x90(%ebp)
40bd37:	80 00 00
40bd3a:	ff 15 50 11 40 00    	call   *0x401150
40bd40:	66 8b f0             	mov    %ax,%si
40bd43:	8d 45 a0             	lea    -0x60(%ebp),%eax
40bd46:	50                   	push   %eax
40bd47:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40bd4a:	51                   	push   %ecx
40bd4b:	6a 02                	push   $0x2
40bd4d:	ff 15 20 10 40 00    	call   *0x401020
40bd53:	83 c4 0c             	add    $0xc,%esp
40bd56:	66 3b f7             	cmp    %di,%si
40bd59:	0f 84 a5 00 00 00    	je     0x40be04
40bd5f:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40bd65:	75 10                	jne    0x40bd77
40bd67:	68 c8 d6 40 00       	push   $0x40d6c8
40bd6c:	68 28 8f 40 00       	push   $0x408f28
40bd71:	ff 15 14 11 40 00    	call   *0x401114
40bd77:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40bd7d:	8b 16                	mov    (%esi),%edx
40bd7f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40bd82:	50                   	push   %eax
40bd83:	56                   	push   %esi
40bd84:	ff 52 1c             	call   *0x1c(%edx)
40bd87:	db e2                	fnclex
40bd89:	3b c7                	cmp    %edi,%eax
40bd8b:	7d 0f                	jge    0x40bd9c
40bd8d:	6a 1c                	push   $0x1c
40bd8f:	68 18 8f 40 00       	push   $0x408f18
40bd94:	56                   	push   %esi
40bd95:	50                   	push   %eax
40bd96:	ff 15 44 10 40 00    	call   *0x401044
40bd9c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40bd9f:	8d 5d c0             	lea    -0x40(%ebp),%ebx
40bda2:	53                   	push   %ebx
40bda3:	83 ec 10             	sub    $0x10,%esp
40bda6:	ba 0a 00 00 00       	mov    $0xa,%edx
40bdab:	8b dc                	mov    %esp,%ebx
40bdad:	89 13                	mov    %edx,(%ebx)
40bdaf:	89 55 80             	mov    %edx,-0x80(%ebp)
40bdb2:	8b 55 84             	mov    -0x7c(%ebp),%edx
40bdb5:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bdba:	89 53 04             	mov    %edx,0x4(%ebx)
40bdbd:	89 4d 88             	mov    %ecx,-0x78(%ebp)
40bdc0:	8b 38                	mov    (%eax),%edi
40bdc2:	89 4b 08             	mov    %ecx,0x8(%ebx)
40bdc5:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40bdc8:	50                   	push   %eax
40bdc9:	8b f0                	mov    %eax,%esi
40bdcb:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40bdce:	ff 57 54             	call   *0x54(%edi)
40bdd1:	db e2                	fnclex
40bdd3:	85 c0                	test   %eax,%eax
40bdd5:	7d 0f                	jge    0x40bde6
40bdd7:	6a 54                	push   $0x54
40bdd9:	68 30 90 40 00       	push   $0x409030
40bdde:	56                   	push   %esi
40bddf:	50                   	push   %eax
40bde0:	ff 15 44 10 40 00    	call   *0x401044
40bde6:	8b 45 c0             	mov    -0x40(%ebp),%eax
40bde9:	50                   	push   %eax
40bdea:	8d 55 cc             	lea    -0x34(%ebp),%edx
40bded:	52                   	push   %edx
40bdee:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40bdf5:	ff 15 30 11 40 00    	call   *0x401130
40bdfb:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bdfe:	ff 15 8c 11 40 00    	call   *0x40118c
40be04:	68 04 8f 40 00       	push   $0x408f04
40be09:	ff 15 74 11 40 00    	call   *0x401174
40be0f:	3c 02                	cmp    $0x2,%al
40be11:	74 21                	je     0x40be34
40be13:	68 a5 00 00 00       	push   $0xa5
40be18:	ff 15 c0 10 40 00    	call   *0x4010c0
40be1e:	8d 55 80             	lea    -0x80(%ebp),%edx
40be21:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40be24:	89 45 88             	mov    %eax,-0x78(%ebp)
40be27:	c7 45 80 03 00 00 00 	movl   $0x3,-0x80(%ebp)
40be2e:	ff 15 08 10 40 00    	call   *0x401008
40be34:	9b                   	fwait
40be35:	68 7e be 40 00       	push   $0x40be7e
40be3a:	eb 31                	jmp    0x40be6d
40be3c:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40be3f:	ff 15 90 11 40 00    	call   *0x401190
40be45:	8d 45 c0             	lea    -0x40(%ebp),%eax
40be48:	50                   	push   %eax
40be49:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40be4c:	51                   	push   %ecx
40be4d:	6a 02                	push   $0x2
40be4f:	ff 15 28 10 40 00    	call   *0x401028
40be55:	8d 55 90             	lea    -0x70(%ebp),%edx
40be58:	52                   	push   %edx
40be59:	8d 45 a0             	lea    -0x60(%ebp),%eax
40be5c:	50                   	push   %eax
40be5d:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40be60:	51                   	push   %ecx
40be61:	6a 03                	push   $0x3
40be63:	ff 15 20 10 40 00    	call   *0x401020
40be69:	83 c4 1c             	add    $0x1c,%esp
40be6c:	c3                   	ret
40be6d:	8b 35 18 10 40 00    	mov    0x401018,%esi
40be73:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40be76:	ff d6                	call   *%esi
40be78:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40be7b:	ff d6                	call   *%esi
40be7d:	c3                   	ret
40be7e:	8b 45 08             	mov    0x8(%ebp),%eax
40be81:	8b 10                	mov    (%eax),%edx
40be83:	50                   	push   %eax
40be84:	ff 52 08             	call   *0x8(%edx)
40be87:	8b 45 fc             	mov    -0x4(%ebp),%eax
40be8a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40be8d:	5f                   	pop    %edi
40be8e:	5e                   	pop    %esi
40be8f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40be96:	5b                   	pop    %ebx
40be97:	8b e5                	mov    %ebp,%esp
40be99:	5d                   	pop    %ebp
40be9a:	c2 18 00             	ret    $0x18
40be9d:	90                   	nop
40be9e:	90                   	nop
40be9f:	90                   	nop
40bea0:	55                   	push   %ebp
40bea1:	8b ec                	mov    %esp,%ebp
40bea3:	83 ec 0c             	sub    $0xc,%esp
40bea6:	68 76 12 40 00       	push   $0x401276
40beab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40beb1:	50                   	push   %eax
40beb2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40beb9:	81 ec e8 00 00 00    	sub    $0xe8,%esp
40bebf:	53                   	push   %ebx
40bec0:	56                   	push   %esi
40bec1:	57                   	push   %edi
40bec2:	89 65 f4             	mov    %esp,-0xc(%ebp)
40bec5:	c7 45 f8 40 12 40 00 	movl   $0x401240,-0x8(%ebp)
40becc:	33 db                	xor    %ebx,%ebx
40bece:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40bed1:	8b 45 08             	mov    0x8(%ebp),%eax
40bed4:	8b 08                	mov    (%eax),%ecx
40bed6:	50                   	push   %eax
40bed7:	ff 51 04             	call   *0x4(%ecx)
40beda:	8d 55 ac             	lea    -0x54(%ebp),%edx
40bedd:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40bee0:	52                   	push   %edx
40bee1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40bee4:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40bee7:	89 5d c8             	mov    %ebx,-0x38(%ebp)
40beea:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40beed:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40bef0:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40bef3:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
40bef6:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
40bef9:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
40beff:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
40bf05:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
40bf0b:	89 9d 4c ff ff ff    	mov    %ebx,-0xb4(%ebp)
40bf11:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
40bf17:	89 9d 2c ff ff ff    	mov    %ebx,-0xd4(%ebp)
40bf1d:	c7 45 b4 04 00 02 80 	movl   $0x80020004,-0x4c(%ebp)
40bf24:	c7 45 ac 0a 00 00 00 	movl   $0xa,-0x54(%ebp)
40bf2b:	ff 15 5c 10 40 00    	call   *0x40105c
40bf31:	8b 3d 18 10 40 00    	mov    0x401018,%edi
40bf37:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40bf3a:	ff d7                	call   *%edi
40bf3c:	6a 0b                	push   $0xb
40bf3e:	6a 0b                	push   $0xb
40bf40:	68 db 07 00 00       	push   $0x7db
40bf45:	8d 45 ac             	lea    -0x54(%ebp),%eax
40bf48:	50                   	push   %eax
40bf49:	ff 15 04 11 40 00    	call   *0x401104
40bf4f:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40bf52:	51                   	push   %ecx
40bf53:	ff 15 48 10 40 00    	call   *0x401048
40bf59:	33 d2                	xor    %edx,%edx
40bf5b:	66 3d ff ff          	cmp    $0xffff,%ax
40bf5f:	0f 95 c2             	setne  %dl
40bf62:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40bf65:	f7 da                	neg    %edx
40bf67:	8b f2                	mov    %edx,%esi
40bf69:	ff d7                	call   *%edi
40bf6b:	66 3b f3             	cmp    %bx,%si
40bf6e:	0f 84 06 01 00 00    	je     0x40c07a
40bf74:	39 1d c8 d6 40 00    	cmp    %ebx,0x40d6c8
40bf7a:	75 10                	jne    0x40bf8c
40bf7c:	68 c8 d6 40 00       	push   $0x40d6c8
40bf81:	68 28 8f 40 00       	push   $0x408f28
40bf86:	ff 15 14 11 40 00    	call   *0x401114
40bf8c:	8d 5d c0             	lea    -0x40(%ebp),%ebx
40bf8f:	53                   	push   %ebx
40bf90:	83 ec 10             	sub    $0x10,%esp
40bf93:	8b dc                	mov    %esp,%ebx
40bf95:	b9 03 00 00 00       	mov    $0x3,%ecx
40bf9a:	89 0b                	mov    %ecx,(%ebx)
40bf9c:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
40bfa2:	89 4b 04             	mov    %ecx,0x4(%ebx)
40bfa5:	b8 3f 50 2e 00       	mov    $0x2e503f,%eax
40bfaa:	89 43 08             	mov    %eax,0x8(%ebx)
40bfad:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
40bfb3:	89 43 0c             	mov    %eax,0xc(%ebx)
40bfb6:	83 ec 10             	sub    $0x10,%esp
40bfb9:	8b cc                	mov    %esp,%ecx
40bfbb:	b8 03 00 00 00       	mov    $0x3,%eax
40bfc0:	89 01                	mov    %eax,(%ecx)
40bfc2:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
40bfc8:	89 41 04             	mov    %eax,0x4(%ecx)
40bfcb:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40bfd1:	ba ad a1 5a 00       	mov    $0x5aa1ad,%edx
40bfd6:	89 51 08             	mov    %edx,0x8(%ecx)
40bfd9:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
40bfdf:	89 51 0c             	mov    %edx,0xc(%ecx)
40bfe2:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
40bfe8:	83 ec 10             	sub    $0x10,%esp
40bfeb:	8b 3e                	mov    (%esi),%edi
40bfed:	8b cc                	mov    %esp,%ecx
40bfef:	b8 02 00 00 00       	mov    $0x2,%eax
40bff4:	89 01                	mov    %eax,(%ecx)
40bff6:	89 51 04             	mov    %edx,0x4(%ecx)
40bff9:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
40bfff:	b8 18 00 00 00       	mov    $0x18,%eax
40c004:	89 41 08             	mov    %eax,0x8(%ecx)
40c007:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
40c00d:	89 41 0c             	mov    %eax,0xc(%ecx)
40c010:	83 ec 10             	sub    $0x10,%esp
40c013:	8b cc                	mov    %esp,%ecx
40c015:	b8 03 00 00 00       	mov    $0x3,%eax
40c01a:	89 01                	mov    %eax,(%ecx)
40c01c:	89 51 04             	mov    %edx,0x4(%ecx)
40c01f:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
40c025:	b8 8e 28 7d 00       	mov    $0x7d288e,%eax
40c02a:	89 41 08             	mov    %eax,0x8(%ecx)
40c02d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
40c033:	89 41 0c             	mov    %eax,0xc(%ecx)
40c036:	83 ec 10             	sub    $0x10,%esp
40c039:	8b cc                	mov    %esp,%ecx
40c03b:	b8 08 00 00 00       	mov    $0x8,%eax
40c040:	89 01                	mov    %eax,(%ecx)
40c042:	89 51 04             	mov    %edx,0x4(%ecx)