40b1b6:	53                   	push   %ebx
40b1b7:	e8 49 04 00 00       	call   0x40b605
40b1bc:	cc                   	int3
40b1bd:	55                   	push   %ebp
40b1be:	8b ec                	mov    %esp,%ebp
40b1c0:	81 ec 94 00 00 00    	sub    $0x94,%esp
40b1c6:	a1 90 08 42 00       	mov    0x420890,%eax
40b1cb:	33 c5                	xor    %ebp,%eax
40b1cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b1d0:	8b 45 0c             	mov    0xc(%ebp),%eax
40b1d3:	8b 55 08             	mov    0x8(%ebp),%edx
40b1d6:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b1d9:	53                   	push   %ebx
40b1da:	56                   	push   %esi
40b1db:	57                   	push   %edi
40b1dc:	8b 7d 18             	mov    0x18(%ebp),%edi
40b1df:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
40b1e5:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
40b1eb:	83 f8 01             	cmp    $0x1,%eax
40b1ee:	0f 85 04 01 00 00    	jne    0x40b2f8
40b1f4:	68 80 00 00 00       	push   $0x80
40b1f9:	8d 9d 7c ff ff ff    	lea    -0x84(%ebp),%ebx
40b1ff:	8b c3                	mov    %ebx,%eax
40b201:	50                   	push   %eax
40b202:	ff 75 14             	push   0x14(%ebp)
40b205:	33 f6                	xor    %esi,%esi
40b207:	51                   	push   %ecx
40b208:	52                   	push   %edx
40b209:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
40b20f:	e8 c6 6b 00 00       	call   0x411dda
40b214:	83 c4 14             	add    $0x14,%esp
40b217:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40b21d:	85 c0                	test   %eax,%eax
40b21f:	75 74                	jne    0x40b295
40b221:	ff 15 18 90 41 00    	call   *0x419018
40b227:	83 f8 7a             	cmp    $0x7a,%eax
40b22a:	0f 85 86 00 00 00    	jne    0x40b2b6
40b230:	56                   	push   %esi
40b231:	56                   	push   %esi
40b232:	ff 75 14             	push   0x14(%ebp)
40b235:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
40b23b:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
40b241:	e8 94 6b 00 00       	call   0x411dda
40b246:	83 c4 14             	add    $0x14,%esp
40b249:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40b24f:	85 c0                	test   %eax,%eax
40b251:	74 63                	je     0x40b2b6
40b253:	6a 01                	push   $0x1
40b255:	50                   	push   %eax
40b256:	e8 fd d7 ff ff       	call   0x408a58
40b25b:	8b d8                	mov    %eax,%ebx
40b25d:	59                   	pop    %ecx
40b25e:	59                   	pop    %ecx
40b25f:	85 db                	test   %ebx,%ebx
40b261:	74 53                	je     0x40b2b6
40b263:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
40b269:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
40b270:	00 00 00
40b273:	53                   	push   %ebx
40b274:	ff 75 14             	push   0x14(%ebp)
40b277:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
40b27d:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
40b283:	e8 52 6b 00 00       	call   0x411dda
40b288:	83 c4 14             	add    $0x14,%esp
40b28b:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40b291:	85 c0                	test   %eax,%eax
40b293:	74 1a                	je     0x40b2af
40b295:	6a 01                	push   $0x1
40b297:	50                   	push   %eax
40b298:	e8 bb d7 ff ff       	call   0x408a58
40b29d:	8b d0                	mov    %eax,%edx
40b29f:	59                   	pop    %ecx
40b2a0:	59                   	pop    %ecx
40b2a1:	89 17                	mov    %edx,(%edi)
40b2a3:	85 d2                	test   %edx,%edx
40b2a5:	75 21                	jne    0x40b2c8
40b2a7:	39 b5 70 ff ff ff    	cmp    %esi,-0x90(%ebp)
40b2ad:	74 07                	je     0x40b2b6
40b2af:	53                   	push   %ebx
40b2b0:	e8 63 9e ff ff       	call   0x405118
40b2b5:	59                   	pop    %ecx
40b2b6:	83 c8 ff             	or     $0xffffffff,%eax
40b2b9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b2bc:	5f                   	pop    %edi
40b2bd:	5e                   	pop    %esi
40b2be:	33 cd                	xor    %ebp,%ecx
40b2c0:	5b                   	pop    %ebx
40b2c1:	e8 73 94 ff ff       	call   0x404739
40b2c6:	c9                   	leave
40b2c7:	c3                   	ret
40b2c8:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
40b2ce:	8d 41 ff             	lea    -0x1(%ecx),%eax
40b2d1:	50                   	push   %eax
40b2d2:	53                   	push   %ebx
40b2d3:	51                   	push   %ecx
40b2d4:	52                   	push   %edx
40b2d5:	e8 84 69 00 00       	call   0x411c5e
40b2da:	83 c4 10             	add    $0x10,%esp
40b2dd:	85 c0                	test   %eax,%eax
40b2df:	0f 85 a4 00 00 00    	jne    0x40b389
40b2e5:	39 b5 70 ff ff ff    	cmp    %esi,-0x90(%ebp)
40b2eb:	74 07                	je     0x40b2f4
40b2ed:	53                   	push   %ebx
40b2ee:	e8 25 9e ff ff       	call   0x405118
40b2f3:	59                   	pop    %ecx
40b2f4:	33 c0                	xor    %eax,%eax
40b2f6:	eb c1                	jmp    0x40b2b9
40b2f8:	83 f8 02             	cmp    $0x2,%eax
40b2fb:	75 4e                	jne    0x40b34b
40b2fd:	33 f6                	xor    %esi,%esi
40b2ff:	56                   	push   %esi
40b300:	56                   	push   %esi
40b301:	ff 75 14             	push   0x14(%ebp)
40b304:	89 37                	mov    %esi,(%edi)
40b306:	51                   	push   %ecx
40b307:	e8 3e 48 00 00       	call   0x40fb4a
40b30c:	8b d8                	mov    %eax,%ebx
40b30e:	83 c4 10             	add    $0x10,%esp
40b311:	85 db                	test   %ebx,%ebx
40b313:	74 27                	je     0x40b33c
40b315:	6a 02                	push   $0x2
40b317:	53                   	push   %ebx
40b318:	e8 3b d7 ff ff       	call   0x408a58
40b31d:	59                   	pop    %ecx
40b31e:	59                   	pop    %ecx
40b31f:	89 07                	mov    %eax,(%edi)
40b321:	85 c0                	test   %eax,%eax
40b323:	74 17                	je     0x40b33c
40b325:	53                   	push   %ebx
40b326:	50                   	push   %eax
40b327:	ff 75 14             	push   0x14(%ebp)
40b32a:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
40b330:	e8 15 48 00 00       	call   0x40fb4a
40b335:	83 c4 10             	add    $0x10,%esp
40b338:	85 c0                	test   %eax,%eax
40b33a:	75 b8                	jne    0x40b2f4
40b33c:	ff 37                	push   (%edi)
40b33e:	e8 d5 9d ff ff       	call   0x405118
40b343:	59                   	pop    %ecx
40b344:	89 37                	mov    %esi,(%edi)
40b346:	e9 6b ff ff ff       	jmp    0x40b2b6
40b34b:	85 c0                	test   %eax,%eax
40b34d:	0f 85 63 ff ff ff    	jne    0x40b2b6
40b353:	21 85 78 ff ff ff    	and    %eax,-0x88(%ebp)
40b359:	6a 02                	push   $0x2
40b35b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40b361:	50                   	push   %eax
40b362:	8b 45 14             	mov    0x14(%ebp),%eax
40b365:	0d 00 00 00 20       	or     $0x20000000,%eax
40b36a:	50                   	push   %eax
40b36b:	51                   	push   %ecx
40b36c:	e8 d9 47 00 00       	call   0x40fb4a
40b371:	83 c4 10             	add    $0x10,%esp
40b374:	85 c0                	test   %eax,%eax
40b376:	0f 84 3a ff ff ff    	je     0x40b2b6
40b37c:	8a 85 78 ff ff ff    	mov    -0x88(%ebp),%al
40b382:	88 07                	mov    %al,(%edi)
40b384:	e9 6b ff ff ff       	jmp    0x40b2f4
40b389:	56                   	push   %esi
40b38a:	56                   	push   %esi
40b38b:	56                   	push   %esi
40b38c:	56                   	push   %esi
40b38d:	56                   	push   %esi
40b38e:	e8 72 02 00 00       	call   0x40b605
40b393:	cc                   	int3
40b394:	55                   	push   %ebp
40b395:	8b ec                	mov    %esp,%ebp
40b397:	8b 45 08             	mov    0x8(%ebp),%eax
40b39a:	a3 40 27 42 00       	mov    %eax,0x422740
40b39f:	5d                   	pop    %ebp
40b3a0:	c3                   	ret
40b3a1:	6a 0c                	push   $0xc
40b3a3:	68 d0 e4 41 00       	push   $0x41e4d0
40b3a8:	e8 03 fa ff ff       	call   0x40adb0
40b3ad:	6a 0e                	push   $0xe
40b3af:	e8 f3 d0 ff ff       	call   0x4084a7
40b3b4:	59                   	pop    %ecx
40b3b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b3b9:	8b 75 08             	mov    0x8(%ebp),%esi
40b3bc:	8b 46 04             	mov    0x4(%esi),%eax
40b3bf:	85 c0                	test   %eax,%eax
40b3c1:	74 30                	je     0x40b3f3
40b3c3:	8b 0d 48 27 42 00    	mov    0x422748,%ecx
40b3c9:	ba 44 27 42 00       	mov    $0x422744,%edx
40b3ce:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40b3d1:	85 c9                	test   %ecx,%ecx
40b3d3:	74 11                	je     0x40b3e6
40b3d5:	39 01                	cmp    %eax,(%ecx)
40b3d7:	75 2c                	jne    0x40b405
40b3d9:	8b 41 04             	mov    0x4(%ecx),%eax
40b3dc:	89 42 04             	mov    %eax,0x4(%edx)
40b3df:	51                   	push   %ecx
40b3e0:	e8 33 9d ff ff       	call   0x405118
40b3e5:	59                   	pop    %ecx
40b3e6:	ff 76 04             	push   0x4(%esi)
40b3e9:	e8 2a 9d ff ff       	call   0x405118
40b3ee:	59                   	pop    %ecx
40b3ef:	83 66 04 00          	andl   $0x0,0x4(%esi)
40b3f3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40b3fa:	e8 0a 00 00 00       	call   0x40b409
40b3ff:	e8 f1 f9 ff ff       	call   0x40adf5
40b404:	c3                   	ret
40b405:	8b d1                	mov    %ecx,%edx
40b407:	eb c5                	jmp    0x40b3ce
40b409:	6a 0e                	push   $0xe
40b40b:	e8 fb d1 ff ff       	call   0x40860b
40b410:	59                   	pop    %ecx
40b411:	c3                   	ret
40b412:	55                   	push   %ebp
40b413:	8b ec                	mov    %esp,%ebp
40b415:	ff 35 4c 27 42 00    	push   0x42274c
40b41b:	ff 15 5c 90 41 00    	call   *0x41905c
40b421:	85 c0                	test   %eax,%eax
40b423:	74 0f                	je     0x40b434
40b425:	ff 75 08             	push   0x8(%ebp)
40b428:	ff d0                	call   *%eax
40b42a:	59                   	pop    %ecx
40b42b:	85 c0                	test   %eax,%eax
40b42d:	74 05                	je     0x40b434
40b42f:	33 c0                	xor    %eax,%eax
40b431:	40                   	inc    %eax
40b432:	5d                   	pop    %ebp
40b433:	c3                   	ret
40b434:	33 c0                	xor    %eax,%eax
40b436:	5d                   	pop    %ebp
40b437:	c3                   	ret
40b438:	55                   	push   %ebp
40b439:	8b ec                	mov    %esp,%ebp
40b43b:	8b 45 08             	mov    0x8(%ebp),%eax
40b43e:	a3 4c 27 42 00       	mov    %eax,0x42274c
40b443:	5d                   	pop    %ebp
40b444:	c3                   	ret
40b445:	55                   	push   %ebp
40b446:	8b ec                	mov    %esp,%ebp
40b448:	56                   	push   %esi
40b449:	8b 75 08             	mov    0x8(%ebp),%esi
40b44c:	85 f6                	test   %esi,%esi
40b44e:	74 10                	je     0x40b460
40b450:	8b 55 0c             	mov    0xc(%ebp),%edx
40b453:	85 d2                	test   %edx,%edx
40b455:	74 09                	je     0x40b460
40b457:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b45a:	85 c9                	test   %ecx,%ecx
40b45c:	75 16                	jne    0x40b474
40b45e:	88 0e                	mov    %cl,(%esi)
40b460:	e8 18 cd ff ff       	call   0x40817d
40b465:	6a 16                	push   $0x16
40b467:	5e                   	pop    %esi
40b468:	89 30                	mov    %esi,(%eax)
40b46a:	e8 86 01 00 00       	call   0x40b5f5
40b46f:	8b c6                	mov    %esi,%eax
40b471:	5e                   	pop    %esi
40b472:	5d                   	pop    %ebp
40b473:	c3                   	ret
40b474:	57                   	push   %edi
40b475:	8b fe                	mov    %esi,%edi
40b477:	2b f9                	sub    %ecx,%edi
40b479:	8a 01                	mov    (%ecx),%al
40b47b:	88 04 0f             	mov    %al,(%edi,%ecx,1)
40b47e:	41                   	inc    %ecx
40b47f:	84 c0                	test   %al,%al
40b481:	74 03                	je     0x40b486
40b483:	4a                   	dec    %edx
40b484:	75 f3                	jne    0x40b479
40b486:	5f                   	pop    %edi
40b487:	85 d2                	test   %edx,%edx
40b489:	75 0b                	jne    0x40b496
40b48b:	88 16                	mov    %dl,(%esi)
40b48d:	e8 eb cc ff ff       	call   0x40817d
40b492:	6a 22                	push   $0x22
40b494:	eb d1                	jmp    0x40b467
40b496:	33 c0                	xor    %eax,%eax
40b498:	eb d7                	jmp    0x40b471
40b49a:	55                   	push   %ebp
40b49b:	8b ec                	mov    %esp,%ebp
40b49d:	81 ec 28 03 00 00    	sub    $0x328,%esp
40b4a3:	a1 90 08 42 00       	mov    0x420890,%eax
40b4a8:	33 c5                	xor    %ebp,%eax
40b4aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b4ad:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40b4b1:	57                   	push   %edi
40b4b2:	74 09                	je     0x40b4bd
40b4b4:	ff 75 08             	push   0x8(%ebp)
40b4b7:	e8 e0 61 00 00       	call   0x41169c
40b4bc:	59                   	pop    %ecx
40b4bd:	83 a5 e0 fc ff ff 00 	andl   $0x0,-0x320(%ebp)
40b4c4:	6a 4c                	push   $0x4c
40b4c6:	8d 85 e4 fc ff ff    	lea    -0x31c(%ebp),%eax
40b4cc:	6a 00                	push   $0x0
40b4ce:	50                   	push   %eax
40b4cf:	e8 6c ba ff ff       	call   0x406f40
40b4d4:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
40b4da:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
40b4e0:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
40b4e6:	83 c4 0c             	add    $0xc,%esp
40b4e9:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
40b4ef:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40b4f5:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
40b4fb:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
40b501:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
40b507:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
40b50d:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
40b513:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
40b51a:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
40b521:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
40b528:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
40b52f:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
40b536:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
40b53d:	9c                   	pushf
40b53e:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
40b544:	8b 45 04             	mov    0x4(%ebp),%eax
40b547:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
40b54d:	8d 45 04             	lea    0x4(%ebp),%eax
40b550:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40b556:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
40b55d:	00 01 00
40b560:	8b 40 fc             	mov    -0x4(%eax),%eax
40b563:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
40b569:	8b 45 0c             	mov    0xc(%ebp),%eax
40b56c:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
40b572:	8b 45 10             	mov    0x10(%ebp),%eax
40b575:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
40b57b:	8b 45 04             	mov    0x4(%ebp),%eax
40b57e:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
40b584:	ff 15 9c 90 41 00    	call   *0x41909c
40b58a:	8b f8                	mov    %eax,%edi
40b58c:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
40b592:	50                   	push   %eax
40b593:	e8 ec 44 00 00       	call   0x40fa84
40b598:	59                   	pop    %ecx
40b599:	85 c0                	test   %eax,%eax
40b59b:	75 13                	jne    0x40b5b0
40b59d:	85 ff                	test   %edi,%edi
40b59f:	75 0f                	jne    0x40b5b0
40b5a1:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40b5a5:	74 09                	je     0x40b5b0
40b5a7:	ff 75 08             	push   0x8(%ebp)
40b5aa:	e8 ed 60 00 00       	call   0x41169c
40b5af:	59                   	pop    %ecx
40b5b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b5b3:	33 cd                	xor    %ebp,%ecx
40b5b5:	5f                   	pop    %edi
40b5b6:	e8 7e 91 ff ff       	call   0x404739
40b5bb:	c9                   	leave
40b5bc:	c3                   	ret
40b5bd:	55                   	push   %ebp
40b5be:	8b ec                	mov    %esp,%ebp
40b5c0:	8b 45 08             	mov    0x8(%ebp),%eax
40b5c3:	a3 50 27 42 00       	mov    %eax,0x422750
40b5c8:	5d                   	pop    %ebp