408dc4:	5e                   	pop    %esi
408dc5:	33 c0                	xor    %eax,%eax
408dc7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408dce:	5b                   	pop    %ebx
408dcf:	8b e5                	mov    %ebp,%esp
408dd1:	5d                   	pop    %ebp
408dd2:	c2 1c 00             	ret    $0x1c
408dd5:	90                   	nop
408dd6:	90                   	nop
408dd7:	90                   	nop
408dd8:	90                   	nop
408dd9:	90                   	nop
408dda:	90                   	nop
408ddb:	90                   	nop
408ddc:	90                   	nop
408ddd:	90                   	nop
408dde:	90                   	nop
408ddf:	90                   	nop
408de0:	55                   	push   %ebp
408de1:	8b ec                	mov    %esp,%ebp
408de3:	83 ec 0c             	sub    $0xc,%esp
408de6:	68 26 13 40 00       	push   $0x401326
408deb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408df1:	50                   	push   %eax
408df2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
408df9:	81 ec 94 00 00 00    	sub    $0x94,%esp
408dff:	53                   	push   %ebx
408e00:	56                   	push   %esi
408e01:	57                   	push   %edi
408e02:	89 65 f4             	mov    %esp,-0xc(%ebp)
408e05:	c7 45 f8 88 12 40 00 	movl   $0x401288,-0x8(%ebp)
408e0c:	33 ff                	xor    %edi,%edi
408e0e:	89 7d fc             	mov    %edi,-0x4(%ebp)
408e11:	8b 75 08             	mov    0x8(%ebp),%esi
408e14:	8b 06                	mov    (%esi),%eax
408e16:	56                   	push   %esi
408e17:	ff 50 04             	call   *0x4(%eax)
408e1a:	89 7d a0             	mov    %edi,-0x60(%ebp)
408e1d:	8d 55 a0             	lea    -0x60(%ebp),%edx
408e20:	8d 4d c0             	lea    -0x40(%ebp),%ecx
408e23:	89 7d e8             	mov    %edi,-0x18(%ebp)
408e26:	89 7d d8             	mov    %edi,-0x28(%ebp)
408e29:	89 7d d4             	mov    %edi,-0x2c(%ebp)
408e2c:	89 7d d0             	mov    %edi,-0x30(%ebp)
408e2f:	89 7d c0             	mov    %edi,-0x40(%ebp)
408e32:	89 7d b0             	mov    %edi,-0x50(%ebp)
408e35:	89 7d 90             	mov    %edi,-0x70(%ebp)
408e38:	89 7d 80             	mov    %edi,-0x80(%ebp)
408e3b:	c7 45 a8 54 60 40 00 	movl   $0x406054,-0x58(%ebp)
408e42:	c7 45 a0 08 00 00 00 	movl   $0x8,-0x60(%ebp)
408e49:	ff 15 98 11 40 00    	call   *0x401198
408e4f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
408e52:	51                   	push   %ecx
408e53:	ff 15 ec 10 40 00    	call   *0x4010ec
408e59:	33 db                	xor    %ebx,%ebx
408e5b:	83 f8 08             	cmp    $0x8,%eax
408e5e:	0f 95 c3             	setne  %bl
408e61:	8d 4d c0             	lea    -0x40(%ebp),%ecx
408e64:	f7 db                	neg    %ebx
408e66:	ff 15 1c 10 40 00    	call   *0x40101c
408e6c:	66 3b df             	cmp    %di,%bx
408e6f:	74 64                	je     0x408ed5
408e71:	8b 3e                	mov    (%esi),%edi
408e73:	83 ec 10             	sub    $0x10,%esp
408e76:	8b dc                	mov    %esp,%ebx
408e78:	b9 0a 00 00 00       	mov    $0xa,%ecx
408e7d:	89 0b                	mov    %ecx,(%ebx)
408e7f:	89 4d a0             	mov    %ecx,-0x60(%ebp)
408e82:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
408e85:	89 4b 04             	mov    %ecx,0x4(%ebx)
408e88:	b8 04 00 02 80       	mov    $0x80020004,%eax
408e8d:	89 43 08             	mov    %eax,0x8(%ebx)
408e90:	8b d0                	mov    %eax,%edx
408e92:	8b 45 9c             	mov    -0x64(%ebp),%eax
408e95:	89 43 0c             	mov    %eax,0xc(%ebx)
408e98:	8b 45 a0             	mov    -0x60(%ebp),%eax
408e9b:	83 ec 10             	sub    $0x10,%esp
408e9e:	8b cc                	mov    %esp,%ecx
408ea0:	89 01                	mov    %eax,(%ecx)
408ea2:	8b 45 a4             	mov    -0x5c(%ebp),%eax
408ea5:	89 41 04             	mov    %eax,0x4(%ecx)
408ea8:	89 51 08             	mov    %edx,0x8(%ecx)
408eab:	89 55 a8             	mov    %edx,-0x58(%ebp)
408eae:	8b 55 ac             	mov    -0x54(%ebp),%edx
408eb1:	56                   	push   %esi
408eb2:	89 51 0c             	mov    %edx,0xc(%ecx)
408eb5:	ff 97 b0 02 00 00    	call   *0x2b0(%edi)
408ebb:	db e2                	fnclex
408ebd:	33 ff                	xor    %edi,%edi
408ebf:	3b c7                	cmp    %edi,%eax
408ec1:	7d 12                	jge    0x408ed5
408ec3:	68 b0 02 00 00       	push   $0x2b0
408ec8:	68 ec 5e 40 00       	push   $0x405eec
408ecd:	56                   	push   %esi
408ece:	50                   	push   %eax
408ecf:	ff 15 58 10 40 00    	call   *0x401058
408ed5:	39 3d 38 b3 40 00    	cmp    %edi,0x40b338
408edb:	75 10                	jne    0x408eed
408edd:	68 38 b3 40 00       	push   $0x40b338
408ee2:	68 c4 60 40 00       	push   $0x4060c4
408ee7:	ff 15 4c 11 40 00    	call   *0x40114c
408eed:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
408ef3:	8b 06                	mov    (%esi),%eax
408ef5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
408ef8:	51                   	push   %ecx
408ef9:	56                   	push   %esi
408efa:	ff 50 14             	call   *0x14(%eax)
408efd:	db e2                	fnclex
408eff:	3b c7                	cmp    %edi,%eax
408f01:	7d 0f                	jge    0x408f12
408f03:	6a 14                	push   $0x14
408f05:	68 b4 60 40 00       	push   $0x4060b4
408f0a:	56                   	push   %esi
408f0b:	50                   	push   %eax
408f0c:	ff 15 58 10 40 00    	call   *0x401058
408f12:	8b 45 d0             	mov    -0x30(%ebp),%eax
408f15:	83 ec 10             	sub    $0x10,%esp
408f18:	8b dc                	mov    %esp,%ebx
408f1a:	ba 0a 00 00 00       	mov    $0xa,%edx
408f1f:	89 13                	mov    %edx,(%ebx)
408f21:	89 55 a0             	mov    %edx,-0x60(%ebp)
408f24:	8b 55 a4             	mov    -0x5c(%ebp),%edx
408f27:	b9 04 00 02 80       	mov    $0x80020004,%ecx
408f2c:	89 53 04             	mov    %edx,0x4(%ebx)
408f2f:	89 4d a8             	mov    %ecx,-0x58(%ebp)
408f32:	8b 38                	mov    (%eax),%edi
408f34:	89 4b 08             	mov    %ecx,0x8(%ebx)
408f37:	8b 4d ac             	mov    -0x54(%ebp),%ecx
408f3a:	68 60 65 40 00       	push   $0x406560
408f3f:	50                   	push   %eax
408f40:	8b f0                	mov    %eax,%esi
408f42:	89 4b 0c             	mov    %ecx,0xc(%ebx)
408f45:	ff 97 3c 01 00 00    	call   *0x13c(%edi)
408f4b:	db e2                	fnclex
408f4d:	85 c0                	test   %eax,%eax
408f4f:	7d 12                	jge    0x408f63
408f51:	68 3c 01 00 00       	push   $0x13c
408f56:	68 d4 60 40 00       	push   $0x4060d4
408f5b:	56                   	push   %esi
408f5c:	50                   	push   %eax
408f5d:	ff 15 58 10 40 00    	call   *0x401058
408f63:	8d 4d d0             	lea    -0x30(%ebp),%ecx
408f66:	ff 15 d0 11 40 00    	call   *0x4011d0
408f6c:	b8 0a 00 00 00       	mov    $0xa,%eax
408f71:	8d 55 b0             	lea    -0x50(%ebp),%edx
408f74:	52                   	push   %edx
408f75:	89 45 b0             	mov    %eax,-0x50(%ebp)
408f78:	89 45 c0             	mov    %eax,-0x40(%ebp)
408f7b:	8d 45 c0             	lea    -0x40(%ebp),%eax
408f7e:	50                   	push   %eax
408f7f:	68 00 00 f0 3f       	push   $0x3ff00000
408f84:	6a 00                	push   $0x0
408f86:	68 00 00 f0 3f       	push   $0x3ff00000
408f8b:	6a 00                	push   $0x0
408f8d:	68 00 00 f0 3f       	push   $0x3ff00000
408f92:	6a 00                	push   $0x0
408f94:	b9 04 00 02 80       	mov    $0x80020004,%ecx
408f99:	68 00 00 f0 3f       	push   $0x3ff00000
408f9e:	6a 00                	push   $0x0
408fa0:	89 4d b8             	mov    %ecx,-0x48(%ebp)
408fa3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
408fa6:	ff 15 08 11 40 00    	call   *0x401108
408fac:	ff 15 a8 10 40 00    	call   *0x4010a8
408fb2:	dc 1d 28 12 40 00    	fcompl 0x401228
408fb8:	df e0                	fnstsw %ax
408fba:	f6 c4 40             	test   $0x40,%ah
408fbd:	75 07                	jne    0x408fc6
408fbf:	be 01 00 00 00       	mov    $0x1,%esi
408fc4:	eb 02                	jmp    0x408fc8
408fc6:	33 f6                	xor    %esi,%esi
408fc8:	8b 3d 28 10 40 00    	mov    0x401028,%edi
408fce:	8d 4d b0             	lea    -0x50(%ebp),%ecx
408fd1:	51                   	push   %ecx
408fd2:	8d 55 c0             	lea    -0x40(%ebp),%edx
408fd5:	52                   	push   %edx
408fd6:	6a 02                	push   $0x2
408fd8:	ff d7                	call   *%edi
408fda:	f7 de                	neg    %esi
408fdc:	83 c4 0c             	add    $0xc,%esp
408fdf:	66 85 f6             	test   %si,%si
408fe2:	74 37                	je     0x40901b
408fe4:	8d 55 a0             	lea    -0x60(%ebp),%edx
408fe7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
408fea:	c7 45 a8 78 65 40 00 	movl   $0x406578,-0x58(%ebp)
408ff1:	c7 45 a0 08 00 00 00 	movl   $0x8,-0x60(%ebp)
408ff8:	ff 15 98 11 40 00    	call   *0x401198
408ffe:	8d 45 c0             	lea    -0x40(%ebp),%eax
409001:	50                   	push   %eax
409002:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409005:	51                   	push   %ecx
409006:	ff 15 68 10 40 00    	call   *0x401068
40900c:	8d 55 b0             	lea    -0x50(%ebp),%edx
40900f:	52                   	push   %edx
409010:	8d 45 c0             	lea    -0x40(%ebp),%eax
409013:	50                   	push   %eax
409014:	6a 02                	push   $0x2
409016:	ff d7                	call   *%edi
409018:	83 c4 0c             	add    $0xc,%esp
40901b:	68 6c 60 40 00       	push   $0x40606c
409020:	68 78 60 40 00       	push   $0x406078
409025:	ff 15 4c 10 40 00    	call   *0x40104c
40902b:	8b 35 b0 11 40 00    	mov    0x4011b0,%esi
409031:	8b d0                	mov    %eax,%edx
409033:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409036:	ff d6                	call   *%esi
409038:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40903b:	6a 02                	push   $0x2
40903d:	51                   	push   %ecx
40903e:	ff 15 3c 10 40 00    	call   *0x40103c
409044:	8b d0                	mov    %eax,%edx
409046:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409049:	ff d6                	call   *%esi
40904b:	50                   	push   %eax
40904c:	68 78 60 40 00       	push   $0x406078
409051:	ff 15 d4 10 40 00    	call   *0x4010d4
409057:	8b f0                	mov    %eax,%esi
409059:	f7 de                	neg    %esi
40905b:	1b f6                	sbb    %esi,%esi
40905d:	f7 de                	neg    %esi
40905f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409062:	f7 de                	neg    %esi
409064:	ff 15 cc 11 40 00    	call   *0x4011cc
40906a:	66 85 f6             	test   %si,%si
40906d:	74 61                	je     0x4090d0
40906f:	83 ec 10             	sub    $0x10,%esp
409072:	8b fc                	mov    %esp,%edi
409074:	b9 08 00 00 00       	mov    $0x8,%ecx
409079:	89 0f                	mov    %ecx,(%edi)
40907b:	89 4d a0             	mov    %ecx,-0x60(%ebp)
40907e:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
409081:	89 4f 04             	mov    %ecx,0x4(%edi)
409084:	b8 90 65 40 00       	mov    $0x406590,%eax
409089:	89 47 08             	mov    %eax,0x8(%edi)
40908c:	83 ec 10             	sub    $0x10,%esp
40908f:	89 45 a8             	mov    %eax,-0x58(%ebp)
409092:	8b 45 ac             	mov    -0x54(%ebp),%eax
409095:	89 47 0c             	mov    %eax,0xc(%edi)
409098:	8b 45 84             	mov    -0x7c(%ebp),%eax
40909b:	8b cc                	mov    %esp,%ecx
40909d:	be 03 00 00 00       	mov    $0x3,%esi
4090a2:	89 31                	mov    %esi,(%ecx)
4090a4:	89 41 04             	mov    %eax,0x4(%ecx)
4090a7:	6a 02                	push   $0x2
4090a9:	ba 59 da 74 00       	mov    $0x74da59,%edx
4090ae:	89 51 08             	mov    %edx,0x8(%ecx)
4090b1:	8b 55 8c             	mov    -0x74(%ebp),%edx
4090b4:	68 a0 65 40 00       	push   $0x4065a0
4090b9:	8d 45 d8             	lea    -0x28(%ebp),%eax
4090bc:	50                   	push   %eax
4090bd:	89 51 0c             	mov    %edx,0xc(%ecx)
4090c0:	ff 15 e4 10 40 00    	call   *0x4010e4
4090c6:	50                   	push   %eax
4090c7:	ff 15 90 11 40 00    	call   *0x401190
4090cd:	83 c4 2c             	add    $0x2c,%esp
4090d0:	ff 15 54 10 40 00    	call   *0x401054
4090d6:	9b                   	fwait
4090d7:	68 17 91 40 00       	push   $0x409117
4090dc:	eb 26                	jmp    0x409104
4090de:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4090e1:	ff 15 cc 11 40 00    	call   *0x4011cc
4090e7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4090ea:	ff 15 d0 11 40 00    	call   *0x4011d0
4090f0:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4090f3:	51                   	push   %ecx
4090f4:	8d 55 c0             	lea    -0x40(%ebp),%edx
4090f7:	52                   	push   %edx
4090f8:	6a 02                	push   $0x2
4090fa:	ff 15 28 10 40 00    	call   *0x401028
409100:	83 c4 0c             	add    $0xc,%esp
409103:	c3                   	ret
409104:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409107:	ff 15 cc 11 40 00    	call   *0x4011cc
40910d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
409110:	ff 15 1c 10 40 00    	call   *0x40101c
409116:	c3                   	ret
409117:	8b 45 08             	mov    0x8(%ebp),%eax
40911a:	8b 08                	mov    (%eax),%ecx
40911c:	50                   	push   %eax
40911d:	ff 51 08             	call   *0x8(%ecx)
409120:	8b 45 fc             	mov    -0x4(%ebp),%eax
409123:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409126:	5f                   	pop    %edi
409127:	5e                   	pop    %esi
409128:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40912f:	5b                   	pop    %ebx
409130:	8b e5                	mov    %ebp,%esp
409132:	5d                   	pop    %ebp
409133:	c2 14 00             	ret    $0x14
409136:	90                   	nop
409137:	90                   	nop
409138:	90                   	nop
409139:	90                   	nop
40913a:	90                   	nop
40913b:	90                   	nop
40913c:	90                   	nop
40913d:	90                   	nop
40913e:	90                   	nop
40913f:	90                   	nop
409140:	55                   	push   %ebp
409141:	8b ec                	mov    %esp,%ebp
409143:	83 ec 0c             	sub    $0xc,%esp
409146:	68 26 13 40 00       	push   $0x401326
40914b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409151:	50                   	push   %eax
409152:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409159:	81 ec c4 00 00 00    	sub    $0xc4,%esp
40915f:	53                   	push   %ebx
409160:	56                   	push   %esi
409161:	57                   	push   %edi
409162:	89 65 f4             	mov    %esp,-0xc(%ebp)
409165:	c7 45 f8 98 12 40 00 	movl   $0x401298,-0x8(%ebp)
40916c:	33 db                	xor    %ebx,%ebx
40916e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409171:	8b 45 08             	mov    0x8(%ebp),%eax
409174:	8b 08                	mov    (%eax),%ecx
409176:	50                   	push   %eax
409177:	ff 51 04             	call   *0x4(%ecx)
40917a:	8b 55 10             	mov    0x10(%ebp),%edx
40917d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409180:	89 5d dc             	mov    %ebx,-0x24(%ebp)
409183:	89 5d d8             	mov    %ebx,-0x28(%ebp)
409186:	89 5d d0             	mov    %ebx,-0x30(%ebp)
409189:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40918c:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40918f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
409192:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
409195:	89 5d b0             	mov    %ebx,-0x50(%ebp)
409198:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40919b:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
40919e:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4091a1:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
4091a7:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
4091ad:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
4091b3:	ff 15 6c 11 40 00    	call   *0x40116c
4091b9:	68 c0 65 40 00       	push   $0x4065c0
4091be:	68 dc 65 40 00       	push   $0x4065dc
4091c3:	ff 15 4c 10 40 00    	call   *0x40104c
4091c9:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4091cc:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4091cf:	8b 45 08             	mov    0x8(%ebp),%eax
4091d2:	8b 10                	mov    (%eax),%edx
4091d4:	51                   	push   %ecx
4091d5:	bf 08 00 00 00       	mov    $0x8,%edi
4091da:	50                   	push   %eax
4091db:	89 7d 9c             	mov    %edi,-0x64(%ebp)
4091de:	be ec 65 40 00       	mov    $0x4065ec,%esi
4091e3:	ff 92 18 02 00 00    	call   *0x218(%edx)
4091e9:	db e2                	fnclex
4091eb:	3b c3                	cmp    %ebx,%eax
4091ed:	7d 15                	jge    0x409204