40b0bb:	8b 35 90 11 40 00    	mov    0x401190,%esi
40b0c1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b0c4:	ff d6                	call   *%esi
40b0c6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b0c9:	ff d6                	call   *%esi
40b0cb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40b0ce:	ff d6                	call   *%esi
40b0d0:	c3                   	ret
40b0d1:	8b 45 08             	mov    0x8(%ebp),%eax
40b0d4:	8b 10                	mov    (%eax),%edx
40b0d6:	50                   	push   %eax
40b0d7:	ff 52 08             	call   *0x8(%edx)
40b0da:	8b 45 10             	mov    0x10(%ebp),%eax
40b0dd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40b0e0:	8b 55 dc             	mov    -0x24(%ebp),%edx
40b0e3:	89 08                	mov    %ecx,(%eax)
40b0e5:	89 50 04             	mov    %edx,0x4(%eax)
40b0e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b0eb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b0ee:	5f                   	pop    %edi
40b0ef:	5e                   	pop    %esi
40b0f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b0f7:	5b                   	pop    %ebx
40b0f8:	8b e5                	mov    %ebp,%esp
40b0fa:	5d                   	pop    %ebp
40b0fb:	c2 0c 00             	ret    $0xc
40b0fe:	90                   	nop
40b0ff:	90                   	nop
40b100:	55                   	push   %ebp
40b101:	8b ec                	mov    %esp,%ebp
40b103:	83 ec 0c             	sub    $0xc,%esp
40b106:	68 76 12 40 00       	push   $0x401276
40b10b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b111:	50                   	push   %eax
40b112:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b119:	81 ec c0 00 00 00    	sub    $0xc0,%esp
40b11f:	53                   	push   %ebx
40b120:	56                   	push   %esi
40b121:	57                   	push   %edi
40b122:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b125:	c7 45 f8 f8 11 40 00 	movl   $0x4011f8,-0x8(%ebp)
40b12c:	33 ff                	xor    %edi,%edi
40b12e:	89 7d fc             	mov    %edi,-0x4(%ebp)
40b131:	8b 45 08             	mov    0x8(%ebp),%eax
40b134:	8b 08                	mov    (%eax),%ecx
40b136:	50                   	push   %eax
40b137:	ff 51 04             	call   *0x4(%ecx)
40b13a:	6a 05                	push   $0x5
40b13c:	68 cc 91 40 00       	push   $0x4091cc
40b141:	8d 55 b4             	lea    -0x4c(%ebp),%edx
40b144:	52                   	push   %edx
40b145:	89 7d dc             	mov    %edi,-0x24(%ebp)
40b148:	89 7d cc             	mov    %edi,-0x34(%ebp)
40b14b:	89 7d a0             	mov    %edi,-0x60(%ebp)
40b14e:	89 7d 90             	mov    %edi,-0x70(%ebp)
40b151:	89 7d 80             	mov    %edi,-0x80(%ebp)
40b154:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
40b15a:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
40b160:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
40b166:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
40b16c:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
40b172:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
40b178:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
40b17e:	ff 15 98 10 40 00    	call   *0x401098
40b184:	68 04 8f 40 00       	push   $0x408f04
40b189:	ff 15 74 11 40 00    	call   *0x401174
40b18f:	3c 02                	cmp    $0x2,%al
40b191:	74 27                	je     0x40b1ba
40b193:	6a 4c                	push   $0x4c
40b195:	ff 15 c0 10 40 00    	call   *0x4010c0
40b19b:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
40b1a1:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40b1a4:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
40b1aa:	c7 85 50 ff ff ff 03 	movl   $0x3,-0xb0(%ebp)
40b1b1:	00 00 00
40b1b4:	ff 15 08 10 40 00    	call   *0x401008
40b1ba:	6a 02                	push   $0x2
40b1bc:	68 c4 91 40 00       	push   $0x4091c4
40b1c1:	68 d0 92 40 00       	push   $0x4092d0
40b1c6:	ff 15 3c 10 40 00    	call   *0x40103c
40b1cc:	8b d0                	mov    %eax,%edx
40b1ce:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b1d4:	ff 15 70 11 40 00    	call   *0x401170
40b1da:	50                   	push   %eax
40b1db:	68 dc 92 40 00       	push   $0x4092dc
40b1e0:	57                   	push   %edi
40b1e1:	ff 15 58 11 40 00    	call   *0x401158
40b1e7:	33 c9                	xor    %ecx,%ecx
40b1e9:	83 f8 05             	cmp    $0x5,%eax
40b1ec:	0f 95 c1             	setne  %cl
40b1ef:	f7 d9                	neg    %ecx
40b1f1:	66 8b f1             	mov    %cx,%si
40b1f4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b1fa:	ff 15 90 11 40 00    	call   *0x401190
40b200:	66 3b f7             	cmp    %di,%si
40b203:	0f 84 8e 00 00 00    	je     0x40b297
40b209:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40b20f:	75 10                	jne    0x40b221
40b211:	68 c8 d6 40 00       	push   $0x40d6c8
40b216:	68 28 8f 40 00       	push   $0x408f28
40b21b:	ff 15 14 11 40 00    	call   *0x401114
40b221:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40b227:	8d 9d 74 ff ff ff    	lea    -0x8c(%ebp),%ebx
40b22d:	53                   	push   %ebx
40b22e:	68 8d 42 00 00       	push   $0x428d
40b233:	83 ec 10             	sub    $0x10,%esp
40b236:	b9 02 00 00 00       	mov    $0x2,%ecx
40b23b:	8b dc                	mov    %esp,%ebx
40b23d:	89 0b                	mov    %ecx,(%ebx)
40b23f:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
40b245:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
40b24b:	b8 de 00 00 00       	mov    $0xde,%eax
40b250:	89 4b 04             	mov    %ecx,0x4(%ebx)
40b253:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
40b259:	8b 16                	mov    (%esi),%edx
40b25b:	89 43 08             	mov    %eax,0x8(%ebx)
40b25e:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
40b264:	56                   	push   %esi
40b265:	89 43 0c             	mov    %eax,0xc(%ebx)
40b268:	ff 52 34             	call   *0x34(%edx)
40b26b:	db e2                	fnclex
40b26d:	3b c7                	cmp    %edi,%eax
40b26f:	7d 0f                	jge    0x40b280
40b271:	6a 34                	push   $0x34
40b273:	68 18 8f 40 00       	push   $0x408f18
40b278:	56                   	push   %esi
40b279:	50                   	push   %eax
40b27a:	ff 15 44 10 40 00    	call   *0x401044
40b280:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
40b286:	50                   	push   %eax
40b287:	8d 4d 90             	lea    -0x70(%ebp),%ecx
40b28a:	51                   	push   %ecx
40b28b:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
40b291:	ff 15 30 11 40 00    	call   *0x401130
40b297:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b29d:	52                   	push   %edx
40b29e:	ff 15 84 11 40 00    	call   *0x401184
40b2a4:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b2aa:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b2ad:	ff 15 08 10 40 00    	call   *0x401008
40b2b3:	8b 45 c0             	mov    -0x40(%ebp),%eax
40b2b6:	89 38                	mov    %edi,(%eax)
40b2b8:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40b2bb:	c7 41 04 00 00 f0 3f 	movl   $0x3ff00000,0x4(%ecx)
40b2c2:	8b 55 c0             	mov    -0x40(%ebp),%edx
40b2c5:	89 7a 08             	mov    %edi,0x8(%edx)
40b2c8:	8b 45 c0             	mov    -0x40(%ebp),%eax
40b2cb:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
40b2d1:	52                   	push   %edx
40b2d2:	68 00 00 f0 3f       	push   $0x3ff00000
40b2d7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b2da:	c7 40 0c 00 00 00 40 	movl   $0x40000000,0xc(%eax)
40b2e1:	57                   	push   %edi
40b2e2:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
40b2e8:	ff 15 44 11 40 00    	call   *0x401144
40b2ee:	ff 15 78 10 40 00    	call   *0x401078
40b2f4:	dc 1d b0 11 40 00    	fcompl 0x4011b0
40b2fa:	df e0                	fnstsw %ax
40b2fc:	f6 c4 40             	test   $0x40,%ah
40b2ff:	0f 85 92 00 00 00    	jne    0x40b397
40b305:	57                   	push   %edi
40b306:	68 e0 92 40 00       	push   $0x4092e0
40b30b:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b30e:	50                   	push   %eax
40b30f:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40b315:	51                   	push   %ecx
40b316:	ff 15 64 11 40 00    	call   *0x401164
40b31c:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40b321:	83 c4 10             	add    $0x10,%esp
40b324:	3b c7                	cmp    %edi,%eax
40b326:	75 10                	jne    0x40b338
40b328:	68 c8 d6 40 00       	push   $0x40d6c8
40b32d:	68 28 8f 40 00       	push   $0x408f28
40b332:	ff 15 14 11 40 00    	call   *0x401114
40b338:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40b33e:	8b 1e                	mov    (%esi),%ebx
40b340:	68 38 93 40 00       	push   $0x409338
40b345:	68 20 90 40 00       	push   $0x409020
40b34a:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b350:	52                   	push   %edx
40b351:	ff 15 b4 10 40 00    	call   *0x4010b4
40b357:	50                   	push   %eax
40b358:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40b35e:	50                   	push   %eax
40b35f:	ff 15 60 10 40 00    	call   *0x401060
40b365:	50                   	push   %eax
40b366:	56                   	push   %esi
40b367:	ff 53 40             	call   *0x40(%ebx)
40b36a:	db e2                	fnclex
40b36c:	3b c7                	cmp    %edi,%eax
40b36e:	7d 0f                	jge    0x40b37f
40b370:	6a 40                	push   $0x40
40b372:	68 18 8f 40 00       	push   $0x408f18
40b377:	56                   	push   %esi
40b378:	50                   	push   %eax
40b379:	ff 15 44 10 40 00    	call   *0x401044
40b37f:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40b385:	ff 15 8c 11 40 00    	call   *0x40118c
40b38b:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40b391:	ff 15 18 10 40 00    	call   *0x401018
40b397:	68 c4 91 40 00       	push   $0x4091c4
40b39c:	ff 15 30 10 40 00    	call   *0x401030
40b3a2:	8b d0                	mov    %eax,%edx
40b3a4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b3aa:	ff 15 70 11 40 00    	call   *0x401170
40b3b0:	50                   	push   %eax
40b3b1:	68 bc 91 40 00       	push   $0x4091bc
40b3b6:	ff 15 90 10 40 00    	call   *0x401090
40b3bc:	8b f0                	mov    %eax,%esi
40b3be:	f7 de                	neg    %esi
40b3c0:	1b f6                	sbb    %esi,%esi
40b3c2:	f7 de                	neg    %esi
40b3c4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b3ca:	f7 de                	neg    %esi
40b3cc:	ff 15 90 11 40 00    	call   *0x401190
40b3d2:	66 3b f7             	cmp    %di,%si
40b3d5:	0f 84 c9 00 00 00    	je     0x40b4a4
40b3db:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40b3e1:	75 10                	jne    0x40b3f3
40b3e3:	68 c8 d6 40 00       	push   $0x40d6c8
40b3e8:	68 28 8f 40 00       	push   $0x408f28
40b3ed:	ff 15 14 11 40 00    	call   *0x401114
40b3f3:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40b3f9:	8b 0e                	mov    (%esi),%ecx
40b3fb:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
40b401:	52                   	push   %edx
40b402:	56                   	push   %esi
40b403:	ff 51 1c             	call   *0x1c(%ecx)
40b406:	db e2                	fnclex
40b408:	3b c7                	cmp    %edi,%eax
40b40a:	7d 0f                	jge    0x40b41b
40b40c:	6a 1c                	push   $0x1c
40b40e:	68 18 8f 40 00       	push   $0x408f18
40b413:	56                   	push   %esi
40b414:	50                   	push   %eax
40b415:	ff 15 44 10 40 00    	call   *0x401044
40b41b:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
40b421:	8d 9d 70 ff ff ff    	lea    -0x90(%ebp),%ebx
40b427:	53                   	push   %ebx
40b428:	83 ec 10             	sub    $0x10,%esp
40b42b:	ba 0a 00 00 00       	mov    $0xa,%edx
40b430:	8b dc                	mov    %esp,%ebx
40b432:	89 13                	mov    %edx,(%ebx)
40b434:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
40b43a:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
40b440:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b445:	89 53 04             	mov    %edx,0x4(%ebx)
40b448:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
40b44e:	8b 30                	mov    (%eax),%esi
40b450:	89 4b 08             	mov    %ecx,0x8(%ebx)
40b453:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40b459:	50                   	push   %eax
40b45a:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
40b460:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40b463:	ff 56 54             	call   *0x54(%esi)
40b466:	db e2                	fnclex
40b468:	3b c7                	cmp    %edi,%eax
40b46a:	7d 15                	jge    0x40b481
40b46c:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
40b472:	6a 54                	push   $0x54
40b474:	68 30 90 40 00       	push   $0x409030
40b479:	52                   	push   %edx
40b47a:	50                   	push   %eax
40b47b:	ff 15 44 10 40 00    	call   *0x401044
40b481:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
40b487:	50                   	push   %eax
40b488:	8d 45 dc             	lea    -0x24(%ebp),%eax
40b48b:	50                   	push   %eax
40b48c:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
40b492:	ff 15 30 11 40 00    	call   *0x401130
40b498:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40b49e:	ff 15 8c 11 40 00    	call   *0x40118c
40b4a4:	9b                   	fwait
40b4a5:	68 16 b5 40 00       	push   $0x40b516
40b4aa:	eb 32                	jmp    0x40b4de
40b4ac:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b4b2:	ff 15 90 11 40 00    	call   *0x401190
40b4b8:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
40b4be:	51                   	push   %ecx
40b4bf:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
40b4c5:	52                   	push   %edx
40b4c6:	6a 02                	push   $0x2
40b4c8:	ff 15 28 10 40 00    	call   *0x401028
40b4ce:	83 c4 0c             	add    $0xc,%esp
40b4d1:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40b4d7:	ff 15 18 10 40 00    	call   *0x401018
40b4dd:	c3                   	ret
40b4de:	8b 35 18 10 40 00    	mov    0x401018,%esi
40b4e4:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40b4e7:	ff d6                	call   *%esi
40b4e9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40b4ec:	ff d6                	call   *%esi
40b4ee:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40b4f4:	51                   	push   %ecx
40b4f5:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40b4f8:	6a 00                	push   $0x0
40b4fa:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
40b500:	ff 15 54 10 40 00    	call   *0x401054
40b506:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b509:	ff d6                	call   *%esi
40b50b:	8d 4d 90             	lea    -0x70(%ebp),%ecx
40b50e:	ff d6                	call   *%esi
40b510:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40b513:	ff d6                	call   *%esi
40b515:	c3                   	ret
40b516:	8b 45 08             	mov    0x8(%ebp),%eax
40b519:	8b 10                	mov    (%eax),%edx
40b51b:	50                   	push   %eax
40b51c:	ff 52 08             	call   *0x8(%edx)
40b51f:	8b 45 10             	mov    0x10(%ebp),%eax
40b522:	66 8b 8d 7c ff ff ff 	mov    -0x84(%ebp),%cx
40b529:	66 89 08             	mov    %cx,(%eax)
40b52c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b52f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b532:	5f                   	pop    %edi
40b533:	5e                   	pop    %esi
40b534:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b53b:	5b                   	pop    %ebx
40b53c:	8b e5                	mov    %ebp,%esp
40b53e:	5d                   	pop    %ebp
40b53f:	c2 0c 00             	ret    $0xc
40b542:	90                   	nop
40b543:	90                   	nop
40b544:	90                   	nop
40b545:	90                   	nop
40b546:	90                   	nop
40b547:	90                   	nop
40b548:	90                   	nop
40b549:	90                   	nop
40b54a:	90                   	nop
40b54b:	90                   	nop
40b54c:	90                   	nop
40b54d:	90                   	nop
40b54e:	90                   	nop
40b54f:	90                   	nop
40b550:	55                   	push   %ebp
40b551:	8b ec                	mov    %esp,%ebp
40b553:	83 ec 08             	sub    $0x8,%esp
40b556:	68 76 12 40 00       	push   $0x401276
40b55b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b561:	50                   	push   %eax
40b562:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b569:	83 ec 60             	sub    $0x60,%esp
40b56c:	53                   	push   %ebx
40b56d:	56                   	push   %esi
40b56e:	57                   	push   %edi
40b56f:	89 65 f8             	mov    %esp,-0x8(%ebp)
40b572:	c7 45 fc 10 12 40 00 	movl   $0x401210,-0x4(%ebp)
40b579:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40b57e:	33 db                	xor    %ebx,%ebx