40b1b3:	c9                   	leave
40b1b4:	c3                   	ret
40b1b5:	55                   	push   %ebp
40b1b6:	8b ec                	mov    %esp,%ebp
40b1b8:	6a 10                	push   $0x10
40b1ba:	58                   	pop    %eax
40b1bb:	e8 70 61 ff ff       	call   0x401330
40b1c0:	e8 0f 90 ff ff       	call   0x4041d4
40b1c5:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b1c8:	e8 65 62 ff ff       	call   0x401432
40b1cd:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b1d0:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b1d3:	68 f4 01 00 00       	push   $0x1f4
40b1d8:	e8 bb 8f ff ff       	call   0x404198
40b1dd:	e8 50 62 ff ff       	call   0x401432
40b1e2:	e8 ed 8f ff ff       	call   0x4041d4
40b1e7:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b1ea:	e8 43 62 ff ff       	call   0x401432
40b1ef:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b1f2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b1f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b1f8:	2b 45 f8             	sub    -0x8(%ebp),%eax
40b1fb:	3d f4 01 00 00       	cmp    $0x1f4,%eax
40b200:	7d 07                	jge    0x40b209
40b202:	66 83 4d f4 ff       	orw    $0xffff,-0xc(%ebp)
40b207:	eb 05                	jmp    0x40b20e
40b209:	66 83 65 f4 00       	andw   $0x0,-0xc(%ebp)
40b20e:	66 83 7d f4 ff       	cmpw   $0xffff,-0xc(%ebp)
40b213:	75 0c                	jne    0x40b221
40b215:	6a 00                	push   $0x0
40b217:	e8 6c 90 ff ff       	call   0x404288
40b21c:	e8 11 62 ff ff       	call   0x401432
40b221:	66 8b 45 f4          	mov    -0xc(%ebp),%ax
40b225:	c9                   	leave
40b226:	c3                   	ret
40b227:	55                   	push   %ebp
40b228:	8b ec                	mov    %esp,%ebp
40b22a:	5d                   	pop    %ebp
40b22b:	c2 04 00             	ret    $0x4
40b22e:	55                   	push   %ebp
40b22f:	8b ec                	mov    %esp,%ebp
40b231:	83 ec 0c             	sub    $0xc,%esp
40b234:	68 36 13 40 00       	push   $0x401336
40b239:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b23f:	50                   	push   %eax
40b240:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b247:	6a 44                	push   $0x44
40b249:	58                   	pop    %eax
40b24a:	e8 e1 60 ff ff       	call   0x401330
40b24f:	53                   	push   %ebx
40b250:	56                   	push   %esi
40b251:	57                   	push   %edi
40b252:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b255:	c7 45 f8 18 12 40 00 	movl   $0x401218,-0x8(%ebp)
40b25c:	8b 55 08             	mov    0x8(%ebp),%edx
40b25f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40b262:	e8 61 62 ff ff       	call   0x4014c8
40b267:	6a 20                	push   $0x20
40b269:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b26c:	50                   	push   %eax
40b26d:	e8 f6 61 ff ff       	call   0x401468
40b272:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b275:	50                   	push   %eax
40b276:	68 04 01 00 00       	push   $0x104
40b27b:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b27e:	50                   	push   %eax
40b27f:	e8 96 61 ff ff       	call   0x40141a
40b284:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b287:	50                   	push   %eax
40b288:	e8 e7 61 ff ff       	call   0x401474
40b28d:	8b d0                	mov    %eax,%edx
40b28f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b292:	e8 2b 62 ff ff       	call   0x4014c2
40b297:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b29a:	50                   	push   %eax
40b29b:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b29e:	50                   	push   %eax
40b29f:	6a 02                	push   $0x2
40b2a1:	e8 ec 61 ff ff       	call   0x401492
40b2a6:	83 c4 0c             	add    $0xc,%esp
40b2a9:	ff 75 dc             	push   -0x24(%ebp)
40b2ac:	e8 05 62 ff ff       	call   0x4014b6
40b2b1:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40b2b4:	ff 75 e4             	push   -0x1c(%ebp)
40b2b7:	e8 fa 61 ff ff       	call   0x4014b6
40b2bc:	89 45 b0             	mov    %eax,-0x50(%ebp)
40b2bf:	68 04 01 00 00       	push   $0x104
40b2c4:	ff 75 b0             	push   -0x50(%ebp)
40b2c7:	ff 75 b4             	push   -0x4c(%ebp)
40b2ca:	e8 b9 94 ff ff       	call   0x404788
40b2cf:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b2d2:	e8 5b 61 ff ff       	call   0x401432
40b2d7:	8b 45 b8             	mov    -0x48(%ebp),%eax
40b2da:	89 45 e8             	mov    %eax,-0x18(%ebp)
40b2dd:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40b2e1:	7e 17                	jle    0x40b2fa
40b2e3:	ff 75 e8             	push   -0x18(%ebp)
40b2e6:	ff 75 e4             	push   -0x1c(%ebp)
40b2e9:	e8 26 61 ff ff       	call   0x401414
40b2ee:	8b d0                	mov    %eax,%edx
40b2f0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b2f3:	e8 ca 61 ff ff       	call   0x4014c2
40b2f8:	eb 0a                	jmp    0x40b304
40b2fa:	33 d2                	xor    %edx,%edx
40b2fc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b2ff:	e8 c4 61 ff ff       	call   0x4014c8
40b304:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40b307:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b30a:	e8 b9 61 ff ff       	call   0x4014c8
40b30f:	68 4c b3 40 00       	push   $0x40b34c
40b314:	eb 25                	jmp    0x40b33b
40b316:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b319:	83 e0 04             	and    $0x4,%eax
40b31c:	85 c0                	test   %eax,%eax
40b31e:	74 08                	je     0x40b328
40b320:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b323:	e8 94 61 ff ff       	call   0x4014bc
40b328:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b32b:	50                   	push   %eax
40b32c:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b32f:	50                   	push   %eax
40b330:	6a 02                	push   $0x2
40b332:	e8 5b 61 ff ff       	call   0x401492
40b337:	83 c4 0c             	add    $0xc,%esp
40b33a:	c3                   	ret
40b33b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b33e:	e8 79 61 ff ff       	call   0x4014bc
40b343:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40b346:	e8 71 61 ff ff       	call   0x4014bc
40b34b:	c3                   	ret
40b34c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b34f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b352:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b359:	5f                   	pop    %edi
40b35a:	5e                   	pop    %esi
40b35b:	5b                   	pop    %ebx
40b35c:	c9                   	leave
40b35d:	c2 04 00             	ret    $0x4
40b360:	55                   	push   %ebp
40b361:	8b ec                	mov    %esp,%ebp
40b363:	51                   	push   %ecx
40b364:	51                   	push   %ecx
40b365:	68 36 13 40 00       	push   $0x401336
40b36a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b370:	50                   	push   %eax
40b371:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b378:	6a 60                	push   $0x60
40b37a:	58                   	pop    %eax
40b37b:	e8 b0 5f ff ff       	call   0x401330
40b380:	53                   	push   %ebx
40b381:	56                   	push   %esi
40b382:	57                   	push   %edi
40b383:	89 65 f8             	mov    %esp,-0x8(%ebp)
40b386:	c7 45 fc 28 12 40 00 	movl   $0x401228,-0x4(%ebp)
40b38d:	6a 00                	push   $0x0
40b38f:	6a 0f                	push   $0xf
40b391:	6a 01                	push   $0x1
40b393:	6a 03                	push   $0x3
40b395:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b398:	50                   	push   %eax
40b399:	6a 04                	push   $0x4
40b39b:	68 80 00 00 00       	push   $0x80
40b3a0:	e8 5f 61 ff ff       	call   0x401504
40b3a5:	83 c4 1c             	add    $0x1c,%esp
40b3a8:	68 d0 38 40 00       	push   $0x4038d0
40b3ad:	68 c0 38 40 00       	push   $0x4038c0
40b3b2:	e8 3b 61 ff ff       	call   0x4014f2
40b3b7:	50                   	push   %eax
40b3b8:	8d 45 c8             	lea    -0x38(%ebp),%eax
40b3bb:	50                   	push   %eax
40b3bc:	e8 3d 61 ff ff       	call   0x4014fe
40b3c1:	50                   	push   %eax
40b3c2:	e8 31 61 ff ff       	call   0x4014f8
40b3c7:	50                   	push   %eax
40b3c8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40b3cb:	50                   	push   %eax
40b3cc:	e8 2d 61 ff ff       	call   0x4014fe
40b3d1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40b3d4:	e8 13 61 ff ff       	call   0x4014ec
40b3d9:	ff 75 d4             	push   -0x2c(%ebp)
40b3dc:	8d 45 c8             	lea    -0x38(%ebp),%eax
40b3df:	50                   	push   %eax
40b3e0:	e8 01 61 ff ff       	call   0x4014e6
40b3e5:	50                   	push   %eax
40b3e6:	e8 cb 60 ff ff       	call   0x4014b6
40b3eb:	89 45 d8             	mov    %eax,-0x28(%ebp)
40b3ee:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40b3f1:	e8 f6 60 ff ff       	call   0x4014ec
40b3f6:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b3f9:	50                   	push   %eax
40b3fa:	e8 b7 60 ff ff       	call   0x4014b6
40b3ff:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b402:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b405:	50                   	push   %eax
40b406:	e8 ab 60 ff ff       	call   0x4014b6
40b40b:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b40e:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b411:	50                   	push   %eax
40b412:	e8 9f 60 ff ff       	call   0x4014b6
40b417:	89 45 bc             	mov    %eax,-0x44(%ebp)
40b41a:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b41d:	50                   	push   %eax
40b41e:	e8 93 60 ff ff       	call   0x4014b6
40b423:	50                   	push   %eax
40b424:	ff 75 b8             	push   -0x48(%ebp)
40b427:	e8 16 b0 ff ff       	call   0x406442
40b42c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40b42f:	f7 d0                	not    %eax
40b431:	f7 d0                	not    %eax
40b433:	50                   	push   %eax
40b434:	e8 18 b0 ff ff       	call   0x406451
40b439:	48                   	dec    %eax
40b43a:	89 45 ac             	mov    %eax,-0x54(%ebp)
40b43d:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
40b444:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40b448:	eb 09                	jmp    0x40b453
40b44a:	8b 45 e8             	mov    -0x18(%ebp),%eax
40b44d:	03 45 b0             	add    -0x50(%ebp),%eax
40b450:	89 45 e8             	mov    %eax,-0x18(%ebp)
40b453:	8b 45 e8             	mov    -0x18(%ebp),%eax
40b456:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40b459:	7f 44                	jg     0x40b49f
40b45b:	ff 75 e4             	push   -0x1c(%ebp)
40b45e:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b461:	50                   	push   %eax
40b462:	e8 79 60 ff ff       	call   0x4014e0
40b467:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b46a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40b46d:	2b 48 14             	sub    0x14(%eax),%ecx
40b470:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b473:	8b 40 0c             	mov    0xc(%eax),%eax
40b476:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40b479:	50                   	push   %eax
40b47a:	e8 37 60 ff ff       	call   0x4014b6
40b47f:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b482:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b485:	50                   	push   %eax
40b486:	e8 4f 60 ff ff       	call   0x4014da
40b48b:	ff 75 c0             	push   -0x40(%ebp)
40b48e:	8b 45 e8             	mov    -0x18(%ebp),%eax
40b491:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40b494:	8d 04 81             	lea    (%ecx,%eax,4),%eax
40b497:	50                   	push   %eax
40b498:	e8 a5 af ff ff       	call   0x406442
40b49d:	eb ab                	jmp    0x40b44a
40b49f:	ff 75 d4             	push   -0x2c(%ebp)
40b4a2:	8d 45 c8             	lea    -0x38(%ebp),%eax
40b4a5:	50                   	push   %eax
40b4a6:	e8 3b 60 ff ff       	call   0x4014e6
40b4ab:	50                   	push   %eax
40b4ac:	e8 05 60 ff ff       	call   0x4014b6
40b4b1:	89 45 d8             	mov    %eax,-0x28(%ebp)
40b4b4:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40b4b7:	e8 30 60 ff ff       	call   0x4014ec
40b4bc:	8d 45 dc             	lea    -0x24(%ebp),%eax
40b4bf:	50                   	push   %eax
40b4c0:	e8 f1 5f ff ff       	call   0x4014b6
40b4c5:	50                   	push   %eax
40b4c6:	ff 75 d8             	push   -0x28(%ebp)
40b4c9:	e8 74 af ff ff       	call   0x406442
40b4ce:	ff 75 e4             	push   -0x1c(%ebp)
40b4d1:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b4d4:	50                   	push   %eax
40b4d5:	e8 06 60 ff ff       	call   0x4014e0
40b4da:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b4dd:	33 c9                	xor    %ecx,%ecx
40b4df:	2b 48 14             	sub    0x14(%eax),%ecx
40b4e2:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b4e5:	8b 40 0c             	mov    0xc(%eax),%eax
40b4e8:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40b4eb:	50                   	push   %eax
40b4ec:	e8 c5 5f ff ff       	call   0x4014b6
40b4f1:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b4f4:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b4f7:	50                   	push   %eax
40b4f8:	e8 dd 5f ff ff       	call   0x4014da
40b4fd:	8b 45 c0             	mov    -0x40(%ebp),%eax
40b500:	89 45 bc             	mov    %eax,-0x44(%ebp)
40b503:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b506:	50                   	push   %eax
40b507:	e8 aa 5f ff ff       	call   0x4014b6
40b50c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b50f:	ff 75 d8             	push   -0x28(%ebp)
40b512:	ff 75 b8             	push   -0x48(%ebp)
40b515:	e8 28 af ff ff       	call   0x406442
40b51a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40b51d:	6a 0b                	push   $0xb
40b51f:	59                   	pop    %ecx
40b520:	2b 48 14             	sub    0x14(%eax),%ecx
40b523:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40b526:	8b 40 0c             	mov    0xc(%eax),%eax
40b529:	8b 15 04 11 46 00    	mov    0x461104,%edx
40b52f:	89 14 88             	mov    %edx,(%eax,%ecx,4)
40b532:	6a 00                	push   $0x0
40b534:	6a 10                	push   $0x10
40b536:	6a 01                	push   $0x1
40b538:	6a 03                	push   $0x3
40b53a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40b53d:	50                   	push   %eax
40b53e:	6a 04                	push   $0x4
40b540:	68 80 00 00 00       	push   $0x80
40b545:	e8 ba 5f ff ff       	call   0x401504
40b54a:	83 c4 1c             	add    $0x1c,%esp
40b54d:	8d 45 ec             	lea    -0x14(%ebp),%eax
40b550:	50                   	push   %eax
40b551:	e8 60 5f ff ff       	call   0x4014b6
40b556:	50                   	push   %eax
40b557:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b55a:	f7 d0                	not    %eax
40b55c:	f7 d0                	not    %eax
40b55e:	83 c0 0c             	add    $0xc,%eax
40b561:	50                   	push   %eax
40b562:	e8 db ae ff ff       	call   0x406442
40b567:	c7 45 c0 40 00 00 00 	movl   $0x40,-0x40(%ebp)
40b56e:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b571:	50                   	push   %eax
40b572:	e8 3f 5f ff ff       	call   0x4014b6
40b577:	89 45 bc             	mov    %eax,-0x44(%ebp)
40b57a:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b57d:	f7 d0                	not    %eax
40b57f:	f7 d0                	not    %eax
40b581:	83 c0 0c             	add    $0xc,%eax
40b584:	50                   	push   %eax
40b585:	ff 75 bc             	push   -0x44(%ebp)
40b588:	e8 b5 ae ff ff       	call   0x406442
40b58d:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
40b591:	ff 75 e0             	push   -0x20(%ebp)
40b594:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b597:	50                   	push   %eax
40b598:	e8 43 5f ff ff       	call   0x4014e0
40b59d:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b5a0:	50                   	push   %eax
40b5a1:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b5a4:	33 c9                	xor    %ecx,%ecx
40b5a6:	2b 48 14             	sub    0x14(%eax),%ecx
40b5a9:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b5ac:	8b 40 0c             	mov    0xc(%eax),%eax
40b5af:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40b5b2:	50                   	push   %eax
40b5b3:	6a 20                	push   $0x20
40b5b5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40b5b8:	8b 00                	mov    (%eax),%eax
40b5ba:	ff 75 d4             	push   -0x2c(%ebp)
40b5bd:	ff 50 2c             	call   *0x2c(%eax)
40b5c0:	db e2                	fnclex
40b5c2:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40b5c5:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
40b5c9:	7d 17                	jge    0x40b5e2
40b5cb:	6a 2c                	push   $0x2c
40b5cd:	68 d0 38 40 00       	push   $0x4038d0