40bfab:	8b 08                	mov    (%eax),%ecx
40bfad:	50                   	push   %eax
40bfae:	ff 51 08             	call   *0x8(%ecx)
40bfb1:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
40bfb5:	8b 55 20             	mov    0x20(%ebp),%edx
40bfb8:	66 89 02             	mov    %ax,(%edx)
40bfbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bfbe:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bfc1:	5f                   	pop    %edi
40bfc2:	5e                   	pop    %esi
40bfc3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bfca:	5b                   	pop    %ebx
40bfcb:	8b e5                	mov    %ebp,%esp
40bfcd:	5d                   	pop    %ebp
40bfce:	c2 1c 00             	ret    $0x1c
40bfd1:	90                   	nop
40bfd2:	90                   	nop
40bfd3:	90                   	nop
40bfd4:	90                   	nop
40bfd5:	90                   	nop
40bfd6:	90                   	nop
40bfd7:	90                   	nop
40bfd8:	90                   	nop
40bfd9:	90                   	nop
40bfda:	90                   	nop
40bfdb:	90                   	nop
40bfdc:	90                   	nop
40bfdd:	90                   	nop
40bfde:	90                   	nop
40bfdf:	90                   	nop
40bfe0:	55                   	push   %ebp
40bfe1:	8b ec                	mov    %esp,%ebp
40bfe3:	83 ec 0c             	sub    $0xc,%esp
40bfe6:	68 c6 12 40 00       	push   $0x4012c6
40bfeb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bff1:	50                   	push   %eax
40bff2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40bff9:	81 ec 94 00 00 00    	sub    $0x94,%esp
40bfff:	53                   	push   %ebx
40c000:	56                   	push   %esi
40c001:	57                   	push   %edi
40c002:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c005:	c7 45 f8 30 12 40 00 	movl   $0x401230,-0x8(%ebp)
40c00c:	33 f6                	xor    %esi,%esi
40c00e:	89 75 fc             	mov    %esi,-0x4(%ebp)
40c011:	8b 45 08             	mov    0x8(%ebp),%eax
40c014:	8b 08                	mov    (%eax),%ecx
40c016:	50                   	push   %eax
40c017:	ff 51 04             	call   *0x4(%ecx)
40c01a:	6a 05                	push   $0x5
40c01c:	68 50 80 40 00       	push   $0x408050
40c021:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40c024:	52                   	push   %edx
40c025:	89 75 cc             	mov    %esi,-0x34(%ebp)
40c028:	89 75 bc             	mov    %esi,-0x44(%ebp)
40c02b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40c02e:	89 75 9c             	mov    %esi,-0x64(%ebp)
40c031:	89 75 8c             	mov    %esi,-0x74(%ebp)
40c034:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
40c03a:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
40c040:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
40c046:	ff 15 bc 10 40 00    	call   *0x4010bc
40c04c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c04f:	89 30                	mov    %esi,(%eax)
40c051:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c054:	c7 41 04 00 00 f0 bf 	movl   $0xbff00000,0x4(%ecx)
40c05b:	8b 55 e0             	mov    -0x20(%ebp),%edx
40c05e:	89 72 08             	mov    %esi,0x8(%edx)
40c061:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c064:	c7 40 0c 00 c0 5b 40 	movl   $0x405bc000,0xc(%eax)
40c06b:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c06e:	52                   	push   %edx
40c06f:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
40c075:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c078:	50                   	push   %eax
40c079:	c7 45 c4 04 00 02 80 	movl   $0x80020004,-0x3c(%ebp)
40c080:	c7 45 bc 0a 00 00 00 	movl   $0xa,-0x44(%ebp)
40c087:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
40c08d:	ff 15 50 11 40 00    	call   *0x401150
40c093:	ff 15 9c 10 40 00    	call   *0x40109c
40c099:	dc 1d 28 12 40 00    	fcompl 0x401228
40c09f:	df e0                	fnstsw %ax
40c0a1:	f6 c4 40             	test   $0x40,%ah
40c0a4:	75 07                	jne    0x40c0ad
40c0a6:	b8 01 00 00 00       	mov    $0x1,%eax
40c0ab:	eb 02                	jmp    0x40c0af
40c0ad:	33 c0                	xor    %eax,%eax
40c0af:	f7 d8                	neg    %eax
40c0b1:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c0b4:	66 8b f8             	mov    %ax,%di
40c0b7:	ff 15 14 10 40 00    	call   *0x401014
40c0bd:	66 3b fe             	cmp    %si,%di
40c0c0:	0f 84 ed 00 00 00    	je     0x40c1b3
40c0c6:	39 35 38 03 41 00    	cmp    %esi,0x410338
40c0cc:	75 10                	jne    0x40c0de
40c0ce:	68 38 03 41 00       	push   $0x410338
40c0d3:	68 c4 7c 40 00       	push   $0x407cc4
40c0d8:	ff 15 28 11 40 00    	call   *0x401128
40c0de:	8d 5d cc             	lea    -0x34(%ebp),%ebx
40c0e1:	53                   	push   %ebx
40c0e2:	83 ec 10             	sub    $0x10,%esp
40c0e5:	8b dc                	mov    %esp,%ebx
40c0e7:	b9 03 00 00 00       	mov    $0x3,%ecx
40c0ec:	89 0b                	mov    %ecx,(%ebx)
40c0ee:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
40c0f1:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
40c0f7:	89 4b 04             	mov    %ecx,0x4(%ebx)
40c0fa:	b8 a1 ec 3c 00       	mov    $0x3ceca1,%eax
40c0ff:	89 43 08             	mov    %eax,0x8(%ebx)
40c102:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40c108:	89 43 0c             	mov    %eax,0xc(%ebx)
40c10b:	83 ec 10             	sub    $0x10,%esp
40c10e:	8b cc                	mov    %esp,%ecx
40c110:	b8 03 00 00 00       	mov    $0x3,%eax
40c115:	89 01                	mov    %eax,(%ecx)
40c117:	8b 45 80             	mov    -0x80(%ebp),%eax
40c11a:	89 41 04             	mov    %eax,0x4(%ecx)
40c11d:	8b 35 38 03 41 00    	mov    0x410338,%esi
40c123:	ba e0 df 44 00       	mov    $0x44dfe0,%edx
40c128:	89 51 08             	mov    %edx,0x8(%ecx)
40c12b:	8b 55 88             	mov    -0x78(%ebp),%edx
40c12e:	89 51 0c             	mov    %edx,0xc(%ecx)
40c131:	8b 55 90             	mov    -0x70(%ebp),%edx
40c134:	83 ec 10             	sub    $0x10,%esp
40c137:	8b 3e                	mov    (%esi),%edi
40c139:	8b cc                	mov    %esp,%ecx
40c13b:	b8 02 00 00 00       	mov    $0x2,%eax
40c140:	89 01                	mov    %eax,(%ecx)
40c142:	89 51 04             	mov    %edx,0x4(%ecx)
40c145:	8b 55 9c             	mov    -0x64(%ebp),%edx
40c148:	b8 18 00 00 00       	mov    $0x18,%eax
40c14d:	89 41 08             	mov    %eax,0x8(%ecx)
40c150:	8b 45 98             	mov    -0x68(%ebp),%eax
40c153:	89 41 0c             	mov    %eax,0xc(%ecx)
40c156:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c159:	83 ec 10             	sub    $0x10,%esp
40c15c:	8b cc                	mov    %esp,%ecx
40c15e:	89 11                	mov    %edx,(%ecx)
40c160:	8b 55 a8             	mov    -0x58(%ebp),%edx
40c163:	89 41 04             	mov    %eax,0x4(%ecx)
40c166:	b8 38 4d 32 00       	mov    $0x324d38,%eax
40c16b:	89 41 08             	mov    %eax,0x8(%ecx)
40c16e:	89 51 0c             	mov    %edx,0xc(%ecx)
40c171:	8b 55 b0             	mov    -0x50(%ebp),%edx
40c174:	83 ec 10             	sub    $0x10,%esp
40c177:	8b cc                	mov    %esp,%ecx
40c179:	b8 08 00 00 00       	mov    $0x8,%eax
40c17e:	89 01                	mov    %eax,(%ecx)
40c180:	89 51 04             	mov    %edx,0x4(%ecx)
40c183:	b8 38 80 40 00       	mov    $0x408038,%eax
40c188:	89 41 08             	mov    %eax,0x8(%ecx)
40c18b:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c18e:	56                   	push   %esi
40c18f:	89 41 0c             	mov    %eax,0xc(%ecx)
40c192:	ff 57 44             	call   *0x44(%edi)
40c195:	db e2                	fnclex
40c197:	85 c0                	test   %eax,%eax
40c199:	7d 0f                	jge    0x40c1aa
40c19b:	6a 44                	push   $0x44
40c19d:	68 b4 7c 40 00       	push   $0x407cb4
40c1a2:	56                   	push   %esi
40c1a3:	50                   	push   %eax
40c1a4:	ff 15 48 10 40 00    	call   *0x401048
40c1aa:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c1ad:	ff 15 ac 11 40 00    	call   *0x4011ac
40c1b3:	9b                   	fwait
40c1b4:	68 e7 c1 40 00       	push   $0x40c1e7
40c1b9:	eb 13                	jmp    0x40c1ce
40c1bb:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c1be:	ff 15 ac 11 40 00    	call   *0x4011ac
40c1c4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c1c7:	ff 15 14 10 40 00    	call   *0x401014
40c1cd:	c3                   	ret
40c1ce:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
40c1d4:	52                   	push   %edx
40c1d5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c1d8:	6a 00                	push   $0x0
40c1da:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
40c1e0:	ff 15 68 10 40 00    	call   *0x401068
40c1e6:	c3                   	ret
40c1e7:	8b 45 08             	mov    0x8(%ebp),%eax
40c1ea:	8b 08                	mov    (%eax),%ecx
40c1ec:	50                   	push   %eax
40c1ed:	ff 51 08             	call   *0x8(%ecx)
40c1f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c1f3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c1f6:	5f                   	pop    %edi
40c1f7:	5e                   	pop    %esi
40c1f8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c1ff:	5b                   	pop    %ebx
40c200:	8b e5                	mov    %ebp,%esp
40c202:	5d                   	pop    %ebp
40c203:	c2 10 00             	ret    $0x10
40c206:	90                   	nop
40c207:	90                   	nop
40c208:	90                   	nop
40c209:	90                   	nop
40c20a:	90                   	nop
40c20b:	90                   	nop
40c20c:	90                   	nop
40c20d:	90                   	nop
40c20e:	90                   	nop
40c20f:	90                   	nop
40c210:	55                   	push   %ebp
40c211:	8b ec                	mov    %esp,%ebp
40c213:	83 ec 0c             	sub    $0xc,%esp
40c216:	68 c6 12 40 00       	push   $0x4012c6
40c21b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c221:	50                   	push   %eax
40c222:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c229:	83 ec 2c             	sub    $0x2c,%esp
40c22c:	53                   	push   %ebx
40c22d:	56                   	push   %esi
40c22e:	57                   	push   %edi
40c22f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c232:	c7 45 f8 40 12 40 00 	movl   $0x401240,-0x8(%ebp)
40c239:	33 f6                	xor    %esi,%esi
40c23b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40c23e:	8b 45 08             	mov    0x8(%ebp),%eax
40c241:	8b 08                	mov    (%eax),%ecx
40c243:	50                   	push   %eax
40c244:	ff 51 04             	call   *0x4(%ecx)
40c247:	89 75 d8             	mov    %esi,-0x28(%ebp)
40c24a:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c24d:	89 75 e8             	mov    %esi,-0x18(%ebp)
40c250:	8b 35 70 10 40 00    	mov    0x401070,%esi
40c256:	bb 0a 00 00 00       	mov    $0xa,%ebx
40c25b:	52                   	push   %edx
40c25c:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c263:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c266:	ff d6                	call   *%esi
40c268:	8b 3d 14 10 40 00    	mov    0x401014,%edi
40c26e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c271:	ff d7                	call   *%edi
40c273:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c276:	50                   	push   %eax
40c277:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c27e:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c281:	ff d6                	call   *%esi
40c283:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c286:	ff d7                	call   *%edi
40c288:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c28b:	51                   	push   %ecx
40c28c:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c293:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c296:	ff d6                	call   *%esi
40c298:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c29b:	ff d7                	call   *%edi
40c29d:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c2a0:	52                   	push   %edx
40c2a1:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c2a8:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c2ab:	ff d6                	call   *%esi
40c2ad:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c2b0:	ff d7                	call   *%edi
40c2b2:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c2b5:	50                   	push   %eax
40c2b6:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c2bd:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c2c0:	ff d6                	call   *%esi
40c2c2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c2c5:	ff d7                	call   *%edi
40c2c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c2ca:	51                   	push   %ecx
40c2cb:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c2d2:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c2d5:	ff d6                	call   *%esi
40c2d7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c2da:	ff d7                	call   *%edi
40c2dc:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c2df:	52                   	push   %edx
40c2e0:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c2e7:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c2ea:	ff d6                	call   *%esi
40c2ec:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c2ef:	ff d7                	call   *%edi
40c2f1:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c2f4:	50                   	push   %eax
40c2f5:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c2fc:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c2ff:	ff d6                	call   *%esi
40c301:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c304:	ff d7                	call   *%edi
40c306:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c309:	51                   	push   %ecx
40c30a:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c311:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c314:	ff d6                	call   *%esi
40c316:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c319:	ff d7                	call   *%edi
40c31b:	c7 45 e0 04 00 02 80 	movl   $0x80020004,-0x20(%ebp)
40c322:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40c325:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c328:	52                   	push   %edx
40c329:	ff d6                	call   *%esi
40c32b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c32e:	ff d7                	call   *%edi
40c330:	9b                   	fwait
40c331:	68 43 c3 40 00       	push   $0x40c343
40c336:	eb 0a                	jmp    0x40c342
40c338:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c33b:	ff 15 14 10 40 00    	call   *0x401014
40c341:	c3                   	ret
40c342:	c3                   	ret
40c343:	8b 45 08             	mov    0x8(%ebp),%eax
40c346:	8b 08                	mov    (%eax),%ecx
40c348:	50                   	push   %eax
40c349:	ff 51 08             	call   *0x8(%ecx)
40c34c:	8b 45 14             	mov    0x14(%ebp),%eax
40c34f:	8b 55 e8             	mov    -0x18(%ebp),%edx
40c352:	89 10                	mov    %edx,(%eax)
40c354:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c357:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c35a:	5f                   	pop    %edi
40c35b:	5e                   	pop    %esi
40c35c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c363:	5b                   	pop    %ebx
40c364:	8b e5                	mov    %ebp,%esp
40c366:	5d                   	pop    %ebp
40c367:	c2 10 00             	ret    $0x10
40c36a:	90                   	nop
40c36b:	90                   	nop
40c36c:	90                   	nop
40c36d:	90                   	nop
40c36e:	90                   	nop
40c36f:	90                   	nop
40c370:	55                   	push   %ebp
40c371:	8b ec                	mov    %esp,%ebp
40c373:	83 ec 08             	sub    $0x8,%esp
40c376:	68 c6 12 40 00       	push   $0x4012c6
40c37b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c381:	50                   	push   %eax
40c382:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c389:	83 ec 68             	sub    $0x68,%esp
40c38c:	53                   	push   %ebx
40c38d:	56                   	push   %esi
40c38e:	57                   	push   %edi
40c38f:	89 65 f8             	mov    %esp,-0x8(%ebp)
40c392:	c7 45 fc 50 12 40 00 	movl   $0x401250,-0x4(%ebp)
40c399:	33 f6                	xor    %esi,%esi
40c39b:	68 6c 80 40 00       	push   $0x40806c
40c3a0:	89 75 e8             	mov    %esi,-0x18(%ebp)
40c3a3:	89 75 ec             	mov    %esi,-0x14(%ebp)
40c3a6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40c3a9:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40c3ac:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40c3af:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40c3b2:	89 75 a4             	mov    %esi,-0x5c(%ebp)
40c3b5:	89 75 94             	mov    %esi,-0x6c(%ebp)
40c3b8:	ff 15 1c 10 40 00    	call   *0x40101c