40b1c8:	33 c0                	xor    %eax,%eax
40b1ca:	eb 1d                	jmp    0x40b1e9
40b1cc:	51                   	push   %ecx
40b1cd:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40b1d0:	8b cb                	mov    %ebx,%ecx
40b1d2:	e8 eb ec ff ff       	call   0x409ec2
40b1d7:	83 f8 ff             	cmp    $0xffffffff,%eax
40b1da:	74 0a                	je     0x40b1e6
40b1dc:	6a 35                	push   $0x35
40b1de:	ff 15 74 20 41 00    	call   *0x412074
40b1e4:	eb e2                	jmp    0x40b1c8
40b1e6:	33 c0                	xor    %eax,%eax
40b1e8:	40                   	inc    %eax
40b1e9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b1ec:	5f                   	pop    %edi
40b1ed:	5e                   	pop    %esi
40b1ee:	33 cd                	xor    %ebp,%ecx
40b1f0:	5b                   	pop    %ebx
40b1f1:	e8 da 3a 00 00       	call   0x40ecd0
40b1f6:	c9                   	leave
40b1f7:	c3                   	ret
40b1f8:	8b ff                	mov    %edi,%edi
40b1fa:	55                   	push   %ebp
40b1fb:	8b ec                	mov    %esp,%ebp
40b1fd:	83 ec 14             	sub    $0x14,%esp
40b200:	a1 44 10 41 00       	mov    0x411044,%eax
40b205:	33 c5                	xor    %ebp,%eax
40b207:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b20a:	53                   	push   %ebx
40b20b:	56                   	push   %esi
40b20c:	57                   	push   %edi
40b20d:	8b f1                	mov    %ecx,%esi
40b20f:	33 ff                	xor    %edi,%edi
40b211:	85 f6                	test   %esi,%esi
40b213:	74 7a                	je     0x40b28f
40b215:	56                   	push   %esi
40b216:	ff 15 d4 20 41 00    	call   *0x4120d4
40b21c:	85 c0                	test   %eax,%eax
40b21e:	74 6f                	je     0x40b28f
40b220:	57                   	push   %edi
40b221:	57                   	push   %edi
40b222:	6a 10                	push   $0x10
40b224:	8b d6                	mov    %esi,%edx
40b226:	59                   	pop    %ecx
40b227:	e8 77 e3 ff ff       	call   0x4095a3
40b22c:	85 c0                	test   %eax,%eax
40b22e:	75 0e                	jne    0x40b23e
40b230:	ff 15 48 20 41 00    	call   *0x412048
40b236:	85 c0                	test   %eax,%eax
40b238:	75 60                	jne    0x40b29a
40b23a:	6a 08                	push   $0x8
40b23c:	eb 56                	jmp    0x40b294
40b23e:	68 38 17 40 00       	push   $0x401738
40b243:	50                   	push   %eax
40b244:	ff 15 60 22 41 00    	call   *0x412260
40b24a:	8b f0                	mov    %eax,%esi
40b24c:	59                   	pop    %ecx
40b24d:	59                   	pop    %ecx
40b24e:	85 f6                	test   %esi,%esi
40b250:	74 3d                	je     0x40b28f
40b252:	6a 00                	push   $0x0
40b254:	8b ce                	mov    %esi,%ecx
40b256:	e8 91 ea ff ff       	call   0x409cec
40b25b:	85 c0                	test   %eax,%eax
40b25d:	74 3b                	je     0x40b29a
40b25f:	8b ce                	mov    %esi,%ecx
40b261:	e8 cf e9 ff ff       	call   0x409c35
40b266:	3d ff 00 00 00       	cmp    $0xff,%eax
40b26b:	77 2d                	ja     0x40b29a
40b26d:	68 38 17 40 00       	push   $0x401738
40b272:	6a 00                	push   $0x0
40b274:	8d 5f 01             	lea    0x1(%edi),%ebx
40b277:	ff 15 60 22 41 00    	call   *0x412260
40b27d:	8b f0                	mov    %eax,%esi
40b27f:	8b fb                	mov    %ebx,%edi
40b281:	59                   	pop    %ecx
40b282:	59                   	pop    %ecx
40b283:	85 f6                	test   %esi,%esi
40b285:	75 cb                	jne    0x40b252
40b287:	83 fb 04             	cmp    $0x4,%ebx
40b28a:	75 03                	jne    0x40b28f
40b28c:	40                   	inc    %eax
40b28d:	eb 0d                	jmp    0x40b29c
40b28f:	68 4f 25 00 00       	push   $0x254f
40b294:	ff 15 74 20 41 00    	call   *0x412074
40b29a:	33 c0                	xor    %eax,%eax
40b29c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b29f:	5f                   	pop    %edi
40b2a0:	5e                   	pop    %esi
40b2a1:	33 cd                	xor    %ebp,%ecx
40b2a3:	5b                   	pop    %ebx
40b2a4:	e8 27 3a 00 00       	call   0x40ecd0
40b2a9:	c9                   	leave
40b2aa:	c3                   	ret
40b2ab:	8b ff                	mov    %edi,%edi
40b2ad:	55                   	push   %ebp
40b2ae:	8b ec                	mov    %esp,%ebp
40b2b0:	81 ec 14 0a 00 00    	sub    $0xa14,%esp
40b2b6:	a1 44 10 41 00       	mov    0x411044,%eax
40b2bb:	33 c5                	xor    %ebp,%eax
40b2bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b2c0:	53                   	push   %ebx
40b2c1:	56                   	push   %esi
40b2c2:	57                   	push   %edi
40b2c3:	89 8d 18 f6 ff ff    	mov    %ecx,-0x9e8(%ebp)
40b2c9:	8d bd f0 f5 ff ff    	lea    -0xa10(%ebp),%edi
40b2cf:	6a 08                	push   $0x8
40b2d1:	33 c0                	xor    %eax,%eax
40b2d3:	8b f2                	mov    %edx,%esi
40b2d5:	8b 55 08             	mov    0x8(%ebp),%edx
40b2d8:	33 db                	xor    %ebx,%ebx
40b2da:	59                   	pop    %ecx
40b2db:	f3 ab                	rep stos %eax,%es:(%edi)
40b2dd:	8b bd 18 f6 ff ff    	mov    -0x9e8(%ebp),%edi
40b2e3:	89 b5 10 f6 ff ff    	mov    %esi,-0x9f0(%ebp)
40b2e9:	89 95 14 f6 ff ff    	mov    %edx,-0x9ec(%ebp)
40b2ef:	89 9d 1c f6 ff ff    	mov    %ebx,-0x9e4(%ebp)
40b2f5:	66 89 45 b2          	mov    %ax,-0x4e(%ebp)
40b2f9:	85 ff                	test   %edi,%edi
40b2fb:	0f 84 0d 01 00 00    	je     0x40b40e
40b301:	85 d2                	test   %edx,%edx
40b303:	0f 84 05 01 00 00    	je     0x40b40e
40b309:	39 02                	cmp    %eax,(%edx)
40b30b:	74 11                	je     0x40b31e
40b30d:	83 3a 02             	cmpl   $0x2,(%edx)
40b310:	0f 82 f8 00 00 00    	jb     0x40b40e
40b316:	85 f6                	test   %esi,%esi
40b318:	0f 84 f0 00 00 00    	je     0x40b40e
40b31e:	39 05 b4 14 41 00    	cmp    %eax,0x4114b4
40b324:	75 2c                	jne    0x40b352
40b326:	8d 85 20 f6 ff ff    	lea    -0x9e0(%ebp),%eax
40b32c:	50                   	push   %eax
40b32d:	68 02 02 00 00       	push   $0x202
40b332:	ff 15 c0 21 41 00    	call   *0x4121c0
40b338:	85 c0                	test   %eax,%eax
40b33a:	74 0c                	je     0x40b348
40b33c:	ff 15 bc 21 41 00    	call   *0x4121bc
40b342:	50                   	push   %eax
40b343:	e9 d2 00 00 00       	jmp    0x40b41a
40b348:	c7 05 b4 14 41 00 01 	movl   $0x1,0x4114b4
40b34f:	00 00 00
40b352:	8d 85 1c f6 ff ff    	lea    -0x9e4(%ebp),%eax
40b358:	50                   	push   %eax
40b359:	8d 85 f0 f5 ff ff    	lea    -0xa10(%ebp),%eax
40b35f:	50                   	push   %eax
40b360:	53                   	push   %ebx
40b361:	57                   	push   %edi
40b362:	ff 15 c8 21 41 00    	call   *0x4121c8
40b368:	85 c0                	test   %eax,%eax
40b36a:	0f 85 b0 00 00 00    	jne    0x40b420
40b370:	8b b5 1c f6 ff ff    	mov    -0x9e4(%ebp),%esi
40b376:	eb 40                	jmp    0x40b3b8
40b378:	6a 04                	push   $0x4
40b37a:	33 c0                	xor    %eax,%eax
40b37c:	66 89 85 b0 f7 ff ff 	mov    %ax,-0x850(%ebp)
40b383:	8d 45 b8             	lea    -0x48(%ebp),%eax
40b386:	6a 20                	push   $0x20
40b388:	50                   	push   %eax
40b389:	68 01 04 00 00       	push   $0x401
40b38e:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40b394:	50                   	push   %eax
40b395:	ff 76 10             	push   0x10(%esi)
40b398:	ff 76 18             	push   0x18(%esi)
40b39b:	ff 15 b8 21 41 00    	call   *0x4121b8
40b3a1:	85 c0                	test   %eax,%eax
40b3a3:	74 19                	je     0x40b3be
40b3a5:	3d fc 2a 00 00       	cmp    $0x2afc,%eax
40b3aa:	75 09                	jne    0x40b3b5
40b3ac:	66 39 9d b0 f7 ff ff 	cmp    %bx,-0x850(%ebp)
40b3b3:	75 09                	jne    0x40b3be
40b3b5:	8b 76 1c             	mov    0x1c(%esi),%esi
40b3b8:	85 f6                	test   %esi,%esi
40b3ba:	75 bc                	jne    0x40b378
40b3bc:	eb 40                	jmp    0x40b3fe
40b3be:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40b3c4:	68 38 17 40 00       	push   $0x401738
40b3c9:	50                   	push   %eax
40b3ca:	ff 15 60 22 41 00    	call   *0x412260
40b3d0:	59                   	pop    %ecx
40b3d1:	59                   	pop    %ecx
40b3d2:	8b f0                	mov    %eax,%esi
40b3d4:	8b ce                	mov    %esi,%ecx
40b3d6:	e8 b0 f0 ff ff       	call   0x40a48b
40b3db:	8b 8d 14 f6 ff ff    	mov    -0x9ec(%ebp),%ecx
40b3e1:	40                   	inc    %eax
40b3e2:	39 01                	cmp    %eax,(%ecx)
40b3e4:	73 07                	jae    0x40b3ed
40b3e6:	33 db                	xor    %ebx,%ebx
40b3e8:	89 01                	mov    %eax,(%ecx)
40b3ea:	43                   	inc    %ebx
40b3eb:	eb 11                	jmp    0x40b3fe
40b3ed:	ff 31                	push   (%ecx)
40b3ef:	8b 8d 10 f6 ff ff    	mov    -0x9f0(%ebp),%ecx
40b3f5:	8b d6                	mov    %esi,%edx
40b3f7:	e8 fa ef ff ff       	call   0x40a3f6
40b3fc:	8b d8                	mov    %eax,%ebx
40b3fe:	ff b5 1c f6 ff ff    	push   -0x9e4(%ebp)
40b404:	ff 15 cc 21 41 00    	call   *0x4121cc
40b40a:	8b c3                	mov    %ebx,%eax
40b40c:	eb 14                	jmp    0x40b422
40b40e:	ff 15 48 20 41 00    	call   *0x412048
40b414:	85 c0                	test   %eax,%eax
40b416:	75 08                	jne    0x40b420
40b418:	6a 57                	push   $0x57
40b41a:	ff 15 74 20 41 00    	call   *0x412074
40b420:	33 c0                	xor    %eax,%eax
40b422:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b425:	5f                   	pop    %edi
40b426:	5e                   	pop    %esi
40b427:	33 cd                	xor    %ebp,%ecx
40b429:	5b                   	pop    %ebx
40b42a:	e8 a1 38 00 00       	call   0x40ecd0
40b42f:	c9                   	leave
40b430:	c2 08 00             	ret    $0x8
40b433:	8b ff                	mov    %edi,%edi
40b435:	55                   	push   %ebp
40b436:	8b ec                	mov    %esp,%ebp
40b438:	51                   	push   %ecx
40b439:	56                   	push   %esi
40b43a:	57                   	push   %edi
40b43b:	8b f9                	mov    %ecx,%edi
40b43d:	33 f6                	xor    %esi,%esi
40b43f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b442:	85 ff                	test   %edi,%edi
40b444:	74 6b                	je     0x40b4b1
40b446:	e8 40 f0 ff ff       	call   0x40a48b
40b44b:	85 c0                	test   %eax,%eax
40b44d:	74 62                	je     0x40b4b1
40b44f:	8b cf                	mov    %edi,%ecx
40b451:	e8 4a fb ff ff       	call   0x40afa0
40b456:	85 c0                	test   %eax,%eax
40b458:	75 27                	jne    0x40b481
40b45a:	57                   	push   %edi
40b45b:	68 c0 16 40 00       	push   $0x4016c0
40b460:	6a 01                	push   $0x1
40b462:	e8 04 e3 ff ff       	call   0x40976b
40b467:	83 c4 0c             	add    $0xc,%esp
40b46a:	85 c0                	test   %eax,%eax
40b46c:	74 2c                	je     0x40b49a
40b46e:	e8 79 e2 ff ff       	call   0x4096ec
40b473:	85 c0                	test   %eax,%eax
40b475:	75 13                	jne    0x40b48a
40b477:	6a 0d                	push   $0xd
40b479:	59                   	pop    %ecx
40b47a:	e8 d8 e0 ff ff       	call   0x409557
40b47f:	eb 15                	jmp    0x40b496
40b481:	8b cf                	mov    %edi,%ecx
40b483:	e8 84 e2 ff ff       	call   0x40970c
40b488:	eb e0                	jmp    0x40b46a
40b48a:	56                   	push   %esi
40b48b:	56                   	push   %esi
40b48c:	6a 0d                	push   $0xd
40b48e:	8b d0                	mov    %eax,%edx
40b490:	59                   	pop    %ecx
40b491:	e8 0d e1 ff ff       	call   0x4095a3
40b496:	85 c0                	test   %eax,%eax
40b498:	75 1d                	jne    0x40b4b7
40b49a:	ff 15 48 20 41 00    	call   *0x412048
40b4a0:	85 c0                	test   %eax,%eax
40b4a2:	75 08                	jne    0x40b4ac
40b4a4:	6a 08                	push   $0x8
40b4a6:	ff 15 74 20 41 00    	call   *0x412074
40b4ac:	e8 43 e3 ff ff       	call   0x4097f4
40b4b1:	33 c0                	xor    %eax,%eax
40b4b3:	5f                   	pop    %edi
40b4b4:	5e                   	pop    %esi
40b4b5:	c9                   	leave
40b4b6:	c3                   	ret
40b4b7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40b4ba:	51                   	push   %ecx
40b4bb:	6a 65                	push   $0x65
40b4bd:	50                   	push   %eax
40b4be:	ff 15 18 23 41 00    	call   *0x412318
40b4c4:	85 c0                	test   %eax,%eax
40b4c6:	75 e9                	jne    0x40b4b1
40b4c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b4cb:	f7 41 10 00 10 00 00 	testl  $0x1000,0x10(%ecx)
40b4d2:	74 0f                	je     0x40b4e3
40b4d4:	8b 41 08             	mov    0x8(%ecx),%eax
40b4d7:	83 e0 0f             	and    $0xf,%eax
40b4da:	69 f0 e8 03 00 00    	imul   $0x3e8,%eax,%esi
40b4e0:	03 71 0c             	add    0xc(%ecx),%esi
40b4e3:	51                   	push   %ecx
40b4e4:	ff 15 f4 22 41 00    	call   *0x4122f4
40b4ea:	8b c6                	mov    %esi,%eax
40b4ec:	eb c5                	jmp    0x40b4b3
40b4ee:	8b ff                	mov    %edi,%edi
40b4f0:	55                   	push   %ebp
40b4f1:	8b ec                	mov    %esp,%ebp
40b4f3:	83 e4 f8             	and    $0xfffffff8,%esp
40b4f6:	83 ec 24             	sub    $0x24,%esp
40b4f9:	53                   	push   %ebx
40b4fa:	56                   	push   %esi
40b4fb:	8b f1                	mov    %ecx,%esi
40b4fd:	57                   	push   %edi
40b4fe:	8b fa                	mov    %edx,%edi
40b500:	85 f6                	test   %esi,%esi
40b502:	0f 84 3f 01 00 00    	je     0x40b647
40b508:	e8 d5 fa ff ff       	call   0x40afe2
40b50d:	83 f8 01             	cmp    $0x1,%eax
40b510:	0f 84 31 01 00 00    	je     0x40b647
40b516:	8b ce                	mov    %esi,%ecx
40b518:	e8 83 fa ff ff       	call   0x40afa0
40b51d:	83 f8 01             	cmp    $0x1,%eax
40b520:	75 03                	jne    0x40b525
40b522:	83 c6 04             	add    $0x4,%esi
40b525:	8b ce                	mov    %esi,%ecx
40b527:	e8 22 fc ff ff       	call   0x40b14e
40b52c:	85 c0                	test   %eax,%eax
40b52e:	75 10                	jne    0x40b540
40b530:	e8 bf e2 ff ff       	call   0x4097f4
40b535:	ff 15 48 20 41 00    	call   *0x412048
40b53b:	e9 39 01 00 00       	jmp    0x40b679
40b540:	bb dc 18 40 00       	mov    $0x4018dc,%ebx
40b545:	53                   	push   %ebx
40b546:	ff 15 d4 20 41 00    	call   *0x4120d4
40b54c:	85 c0                	test   %eax,%eax
40b54e:	74 2a                	je     0x40b57a
40b550:	53                   	push   %ebx
40b551:	56                   	push   %esi
40b552:	68 e8 18 40 00       	push   $0x4018e8
40b557:	6a 02                	push   $0x2
40b559:	e8 0d e2 ff ff       	call   0x40976b
40b55e:	83 c4 10             	add    $0x10,%esp
40b561:	85 c0                	test   %eax,%eax
40b563:	74 37                	je     0x40b59c
40b565:	e8 82 e1 ff ff       	call   0x4096ec
40b56a:	33 db                	xor    %ebx,%ebx
40b56c:	85 c0                	test   %eax,%eax
40b56e:	75 1c                	jne    0x40b58c
40b570:	6a 12                	push   $0x12
40b572:	59                   	pop    %ecx
40b573:	e8 df df ff ff       	call   0x409557
40b578:	eb 1e                	jmp    0x40b598
40b57a:	56                   	push   %esi
40b57b:	68 c0 16 40 00       	push   $0x4016c0
40b580:	6a 01                	push   $0x1
40b582:	e8 e4 e1 ff ff       	call   0x40976b
40b587:	83 c4 0c             	add    $0xc,%esp
40b58a:	eb d5                	jmp    0x40b561
40b58c:	53                   	push   %ebx
40b58d:	53                   	push   %ebx
40b58e:	6a 12                	push   $0x12
40b590:	8b d0                	mov    %eax,%edx
40b592:	59                   	pop    %ecx
40b593:	e8 0b e0 ff ff       	call   0x4095a3
40b598:	85 c0                	test   %eax,%eax
40b59a:	75 1f                	jne    0x40b5bb
40b59c:	ff 15 48 20 41 00    	call   *0x412048
40b5a2:	85 c0                	test   %eax,%eax