40d286:	66 83 7c 24 48 ff    	cmpw   $0xffff,0x48(%esp)
40d28c:	0f 94 c0             	sete   %al
40d28f:	89 43 14             	mov    %eax,0x14(%ebx)
40d292:	8d 44 24 40          	lea    0x40(%esp),%eax
40d296:	50                   	push   %eax
40d297:	ff 15 1c 30 45 00    	call   *0x45301c
40d29d:	85 ff                	test   %edi,%edi
40d29f:	0f 88 96 03 00 00    	js     0x40d63b
40d2a5:	8d 44 24 40          	lea    0x40(%esp),%eax
40d2a9:	50                   	push   %eax
40d2aa:	ff 15 00 30 45 00    	call   *0x453000
40d2b0:	8b 45 10             	mov    0x10(%ebp),%eax
40d2b3:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d2b7:	51                   	push   %ecx
40d2b8:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d2bc:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
40d2c3:	00
40d2c4:	51                   	push   %ecx
40d2c5:	8b 30                	mov    (%eax),%esi
40d2c7:	8d 4c 24 48          	lea    0x48(%esp),%ecx
40d2cb:	51                   	push   %ecx
40d2cc:	6a 00                	push   $0x0
40d2ce:	68 34 65 40 00       	push   $0x406534
40d2d3:	8b 76 10             	mov    0x10(%esi),%esi
40d2d6:	8b ce                	mov    %esi,%ecx
40d2d8:	50                   	push   %eax
40d2d9:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
40d2e0:	00
40d2e1:	ff 15 c4 12 45 00    	call   *0x4512c4
40d2e7:	ff d6                	call   *%esi
40d2e9:	85 c0                	test   %eax,%eax
40d2eb:	0f 88 7a ab 01 00    	js     0x427e6b
40d2f1:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d2f6:	66 83 f8 0b          	cmp    $0xb,%ax
40d2fa:	0f 85 52 ab 01 00    	jne    0x427e52
40d300:	66 83 7c 24 48 ff    	cmpw   $0xffff,0x48(%esp)
40d306:	0f 85 3f ab 01 00    	jne    0x427e4b
40d30c:	b8 01 00 00 00       	mov    $0x1,%eax
40d311:	89 43 18             	mov    %eax,0x18(%ebx)
40d314:	8d 44 24 40          	lea    0x40(%esp),%eax
40d318:	50                   	push   %eax
40d319:	ff 15 1c 30 45 00    	call   *0x45301c
40d31f:	85 ff                	test   %edi,%edi
40d321:	0f 88 14 03 00 00    	js     0x40d63b
40d327:	8d 44 24 40          	lea    0x40(%esp),%eax
40d32b:	50                   	push   %eax
40d32c:	ff 15 00 30 45 00    	call   *0x453000
40d332:	8b 45 10             	mov    0x10(%ebp),%eax
40d335:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d339:	51                   	push   %ecx
40d33a:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d33e:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
40d345:	00
40d346:	51                   	push   %ecx
40d347:	8b 30                	mov    (%eax),%esi
40d349:	8d 4c 24 48          	lea    0x48(%esp),%ecx
40d34d:	51                   	push   %ecx
40d34e:	6a 00                	push   $0x0
40d350:	68 10 65 40 00       	push   $0x406510
40d355:	8b 76 10             	mov    0x10(%esi),%esi
40d358:	8b ce                	mov    %esi,%ecx
40d35a:	50                   	push   %eax
40d35b:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
40d362:	00
40d363:	ff 15 c4 12 45 00    	call   *0x4512c4
40d369:	ff d6                	call   *%esi
40d36b:	85 c0                	test   %eax,%eax
40d36d:	0f 88 28 ab 01 00    	js     0x427e9b
40d373:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d378:	66 83 f8 0b          	cmp    $0xb,%ax
40d37c:	0f 84 ff aa 01 00    	je     0x427e81
40d382:	66 83 f8 01          	cmp    $0x1,%ax
40d386:	0f 85 08 ab 01 00    	jne    0x427e94
40d38c:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
40d393:	8d 44 24 40          	lea    0x40(%esp),%eax
40d397:	50                   	push   %eax
40d398:	ff 15 1c 30 45 00    	call   *0x45301c
40d39e:	85 ff                	test   %edi,%edi
40d3a0:	0f 88 95 02 00 00    	js     0x40d63b
40d3a6:	8d 44 24 40          	lea    0x40(%esp),%eax
40d3aa:	50                   	push   %eax
40d3ab:	ff 15 00 30 45 00    	call   *0x453000
40d3b1:	8b 45 10             	mov    0x10(%ebp),%eax
40d3b4:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d3b8:	51                   	push   %ecx
40d3b9:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40d3bd:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
40d3c4:	00
40d3c5:	51                   	push   %ecx
40d3c6:	8b 30                	mov    (%eax),%esi
40d3c8:	8d 4c 24 48          	lea    0x48(%esp),%ecx
40d3cc:	51                   	push   %ecx
40d3cd:	6a 00                	push   $0x0
40d3cf:	68 e4 64 40 00       	push   $0x4064e4
40d3d4:	8b 76 10             	mov    0x10(%esi),%esi
40d3d7:	8b ce                	mov    %esi,%ecx
40d3d9:	50                   	push   %eax
40d3da:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
40d3e1:	00
40d3e2:	ff 15 c4 12 45 00    	call   *0x4512c4
40d3e8:	ff d6                	call   *%esi
40d3ea:	85 c0                	test   %eax,%eax
40d3ec:	0f 88 d9 aa 01 00    	js     0x427ecb
40d3f2:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d3f7:	66 83 f8 0b          	cmp    $0xb,%ax
40d3fb:	0f 84 b0 aa 01 00    	je     0x427eb1
40d401:	66 83 f8 01          	cmp    $0x1,%ax
40d405:	0f 85 b9 aa 01 00    	jne    0x427ec4
40d40b:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
40d412:	8d 44 24 40          	lea    0x40(%esp),%eax
40d416:	50                   	push   %eax
40d417:	ff 15 1c 30 45 00    	call   *0x45301c
40d41d:	85 ff                	test   %edi,%edi
40d41f:	0f 88 16 02 00 00    	js     0x40d63b
40d425:	8d 44 24 40          	lea    0x40(%esp),%eax
40d429:	50                   	push   %eax
40d42a:	ff 15 00 30 45 00    	call   *0x453000
40d430:	8b 7d 10             	mov    0x10(%ebp),%edi
40d433:	8d 44 24 34          	lea    0x34(%esp),%eax
40d437:	50                   	push   %eax
40d438:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d43c:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
40d443:	00
40d444:	50                   	push   %eax
40d445:	8b 37                	mov    (%edi),%esi
40d447:	8d 44 24 48          	lea    0x48(%esp),%eax
40d44b:	50                   	push   %eax
40d44c:	6a 00                	push   $0x0
40d44e:	68 bc 64 40 00       	push   $0x4064bc
40d453:	8b 76 10             	mov    0x10(%esi),%esi
40d456:	8b ce                	mov    %esi,%ecx
40d458:	57                   	push   %edi
40d459:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
40d460:	00
40d461:	ff 15 c4 12 45 00    	call   *0x4512c4
40d467:	ff d6                	call   *%esi
40d469:	85 c0                	test   %eax,%eax
40d46b:	0f 88 55 ab 01 00    	js     0x427fc6
40d471:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d476:	b9 08 20 00 00       	mov    $0x2008,%ecx
40d47b:	66 3b c1             	cmp    %cx,%ax
40d47e:	0f 85 9a 01 00 00    	jne    0x40d61e
40d484:	ff 74 24 48          	push   0x48(%esp)
40d488:	ff 15 04 30 45 00    	call   *0x453004
40d48e:	83 f8 01             	cmp    $0x1,%eax
40d491:	0f 85 f1 00 00 00    	jne    0x40d588
40d497:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d49b:	50                   	push   %eax
40d49c:	6a 01                	push   $0x1
40d49e:	ff 74 24 50          	push   0x50(%esp)
40d4a2:	ff 15 08 30 45 00    	call   *0x453008
40d4a8:	8d 44 24 30          	lea    0x30(%esp),%eax
40d4ac:	50                   	push   %eax
40d4ad:	6a 01                	push   $0x1
40d4af:	ff 74 24 50          	push   0x50(%esp)
40d4b3:	ff 15 14 30 45 00    	call   *0x453014
40d4b9:	8b 54 24 30          	mov    0x30(%esp),%edx
40d4bd:	8b c2                	mov    %edx,%eax
40d4bf:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
40d4c3:	2b c1                	sub    %ecx,%eax
40d4c5:	83 c0 01             	add    $0x1,%eax
40d4c8:	0f 84 eb aa 01 00    	je     0x427fb9
40d4ce:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40d4d2:	3b ca                	cmp    %edx,%ecx
40d4d4:	0f 8f ae 00 00 00    	jg     0x40d588
40d4da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40d4e0:	8d 44 24 28          	lea    0x28(%esp),%eax
40d4e4:	50                   	push   %eax
40d4e5:	8d 44 24 30          	lea    0x30(%esp),%eax
40d4e9:	50                   	push   %eax
40d4ea:	ff 74 24 50          	push   0x50(%esp)
40d4ee:	ff 15 18 30 45 00    	call   *0x453018
40d4f4:	85 c0                	test   %eax,%eax
40d4f6:	78 7a                	js     0x40d572
40d4f8:	8b 7c 24 28          	mov    0x28(%esp),%edi
40d4fc:	be d8 63 40 00       	mov    $0x4063d8,%esi
40d501:	0f b7 06             	movzwl (%esi),%eax
40d504:	66 85 c0             	test   %ax,%ax
40d507:	74 51                	je     0x40d55a
40d509:	83 f8 7f             	cmp    $0x7f,%eax
40d50c:	0f 87 cf a9 01 00    	ja     0x427ee1
40d512:	8d 48 bf             	lea    -0x41(%eax),%ecx
40d515:	66 83 f9 19          	cmp    $0x19,%cx
40d519:	76 2f                	jbe    0x40d54a
40d51b:	8b d8                	mov    %eax,%ebx
40d51d:	0f b7 0f             	movzwl (%edi),%ecx
40d520:	83 f9 7f             	cmp    $0x7f,%ecx
40d523:	0f 87 ef a9 01 00    	ja     0x427f18
40d529:	8d 41 bf             	lea    -0x41(%ecx),%eax
40d52c:	66 83 f8 19          	cmp    $0x19,%ax
40d530:	76 20                	jbe    0x40d552
40d532:	8b c1                	mov    %ecx,%eax
40d534:	0f b7 c0             	movzwl %ax,%eax
40d537:	0f b7 cb             	movzwl %bx,%ecx
40d53a:	2b c8                	sub    %eax,%ecx
40d53c:	0f 85 0d aa 01 00    	jne    0x427f4f
40d542:	83 c6 02             	add    $0x2,%esi
40d545:	83 c7 02             	add    $0x2,%edi
40d548:	eb b7                	jmp    0x40d501
40d54a:	83 c0 20             	add    $0x20,%eax
40d54d:	0f b7 d8             	movzwl %ax,%ebx
40d550:	eb cb                	jmp    0x40d51d
40d552:	8d 41 20             	lea    0x20(%ecx),%eax
40d555:	0f b7 c0             	movzwl %ax,%eax
40d558:	eb da                	jmp    0x40d534
40d55a:	66 83 3f 00          	cmpw   $0x0,(%edi)
40d55e:	75 a9                	jne    0x40d509
40d560:	8b 5c 24 24          	mov    0x24(%esp),%ebx
40d564:	83 4b 28 01          	orl    $0x1,0x28(%ebx)
40d568:	ff 74 24 28          	push   0x28(%esp)
40d56c:	ff 15 0c 30 45 00    	call   *0x45300c
40d572:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40d576:	40                   	inc    %eax
40d577:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40d57b:	3b 44 24 30          	cmp    0x30(%esp),%eax
40d57f:	0f 8e 5b ff ff ff    	jle    0x40d4e0
40d585:	8b 7d 10             	mov    0x10(%ebp),%edi
40d588:	8d 44 24 40          	lea    0x40(%esp),%eax
40d58c:	50                   	push   %eax
40d58d:	ff 15 1c 30 45 00    	call   *0x45301c
40d593:	8b 44 24 20          	mov    0x20(%esp),%eax
40d597:	85 c0                	test   %eax,%eax
40d599:	78 7a                	js     0x40d615
40d59b:	8d 44 24 40          	lea    0x40(%esp),%eax
40d59f:	50                   	push   %eax
40d5a0:	ff 15 00 30 45 00    	call   *0x453000
40d5a6:	8b 37                	mov    (%edi),%esi
40d5a8:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d5ac:	50                   	push   %eax
40d5ad:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d5b1:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
40d5b8:	00
40d5b9:	50                   	push   %eax
40d5ba:	8b 76 10             	mov    0x10(%esi),%esi
40d5bd:	8d 44 24 48          	lea    0x48(%esp),%eax
40d5c1:	50                   	push   %eax
40d5c2:	6a 00                	push   $0x0
40d5c4:	68 9c 64 40 00       	push   $0x40649c
40d5c9:	57                   	push   %edi
40d5ca:	8b ce                	mov    %esi,%ecx
40d5cc:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
40d5d3:	00
40d5d4:	ff 15 c4 12 45 00    	call   *0x4512c4
40d5da:	ff d6                	call   *%esi
40d5dc:	85 c0                	test   %eax,%eax
40d5de:	0f 88 2f aa 01 00    	js     0x428013
40d5e4:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d5e9:	66 83 f8 03          	cmp    $0x3,%ax
40d5ed:	0f 85 09 aa 01 00    	jne    0x427ffc
40d5f3:	8b 44 24 48          	mov    0x48(%esp),%eax
40d5f7:	85 c0                	test   %eax,%eax
40d5f9:	0f 85 db a9 01 00    	jne    0x427fda
40d5ff:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
40d606:	8d 44 24 40          	lea    0x40(%esp),%eax
40d60a:	50                   	push   %eax
40d60b:	ff 15 1c 30 45 00    	call   *0x45301c
40d611:	8b 44 24 20          	mov    0x20(%esp),%eax
40d615:	5f                   	pop    %edi
40d616:	5e                   	pop    %esi
40d617:	5b                   	pop    %ebx
40d618:	8b e5                	mov    %ebp,%esp
40d61a:	5d                   	pop    %ebp
40d61b:	c2 0c 00             	ret    $0xc
40d61e:	66 83 f8 01          	cmp    $0x1,%ax
40d622:	0f 85 91 a9 01 00    	jne    0x427fb9
40d628:	c7 43 28 10 00 00 00 	movl   $0x10,0x28(%ebx)
40d62f:	e9 54 ff ff ff       	jmp    0x40d588
40d634:	33 c0                	xor    %eax,%eax
40d636:	e9 54 fb ff ff       	jmp    0x40d18f
40d63b:	8b c7                	mov    %edi,%eax
40d63d:	eb d6                	jmp    0x40d615
40d63f:	cc                   	int3
40d640:	8b ff                	mov    %edi,%edi
40d642:	55                   	push   %ebp
40d643:	8b ec                	mov    %esp,%ebp
40d645:	6a ff                	push   $0xffffffff
40d647:	68 1a 33 42 00       	push   $0x42331a
40d64c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d652:	50                   	push   %eax
40d653:	83 ec 08             	sub    $0x8,%esp
40d656:	a1 54 02 45 00       	mov    0x450254,%eax
40d65b:	33 c5                	xor    %ebp,%eax
40d65d:	50                   	push   %eax
40d65e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d661:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d667:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d66a:	8d 41 08             	lea    0x8(%ecx),%eax
40d66d:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40d673:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
40d67a:	33 d2                	xor    %edx,%edx
40d67c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d67f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
40d686:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
40d68d:	c7 40 10 04 00 00 00 	movl   $0x4,0x10(%eax)
40d694:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
40d69b:	c7 40 18 02 00 00 00 	movl   $0x2,0x18(%eax)
40d6a2:	c7 40 1c 02 00 00 00 	movl   $0x2,0x1c(%eax)
40d6a9:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
40d6b0:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
40d6b7:	c7 40 28 00 00 00 00 	movl   $0x0,0x28(%eax)
40d6be:	c7 40 2c 00 00 00 00 	movl   $0x0,0x2c(%eax)
40d6c5:	c7 40 30 00 00 00 00 	movl   $0x0,0x30(%eax)
40d6cc:	c7 80 4c 06 00 00 20 	movl   $0x20,0x64c(%eax)
40d6d3:	00 00 00
40d6d6:	66 89 50 34          	mov    %dx,0x34(%eax)
40d6da:	66 89 90 3c 02 00 00 	mov    %dx,0x23c(%eax)
40d6e1:	66 89 90 44 04 00 00 	mov    %dx,0x444(%eax)
40d6e8:	89 55 fc             	mov    %edx,-0x4(%ebp)
40d6eb:	c7 80 50 06 00 00 01 	movl   $0x1,0x650(%eax)
40d6f2:	00 00 00
40d6f5:	c7 80 54 06 00 00 02 	movl   $0x2,0x654(%eax)
40d6fc:	00 00 00
40d6ff:	c7 80 58 06 00 00 01 	movl   $0x1,0x658(%eax)
40d706:	00 00 00
40d709:	89 90 5c 06 00 00    	mov    %edx,0x65c(%eax)
40d70f:	89 90 60 06 00 00    	mov    %edx,0x660(%eax)
40d715:	89 90 64 06 00 00    	mov    %edx,0x664(%eax)
40d71b:	89 90 68 06 00 00    	mov    %edx,0x668(%eax)
40d721:	c7 80 6c 06 00 00 01 	movl   $0x1,0x66c(%eax)
40d728:	00 00 00
40d72b:	89 90 70 06 00 00    	mov    %edx,0x670(%eax)
40d731:	89 90 74 06 00 00    	mov    %edx,0x674(%eax)
40d737:	89 90 78 06 00 00    	mov    %edx,0x678(%eax)
40d73d:	89 90 7c 06 00 00    	mov    %edx,0x67c(%eax)
40d743:	89 90 80 06 00 00    	mov    %edx,0x680(%eax)
40d749:	c7 80 84 06 00 00 01 	movl   $0x1,0x684(%eax)
40d750:	00 00 00
40d753:	89 90 88 06 00 00    	mov    %edx,0x688(%eax)
40d759:	c7 80 8c 06 00 00 c0 	movl   $0x1d4c0,0x68c(%eax)
40d760:	d4 01 00
40d763:	89 90 90 06 00 00    	mov    %edx,0x690(%eax)
40d769:	c7 80 94 06 00 00 c0 	movl   $0x1d4c0,0x694(%eax)
40d770:	d4 01 00
40d773:	89 90 98 06 00 00    	mov    %edx,0x698(%eax)
40d779:	89 90 9c 06 00 00    	mov    %edx,0x69c(%eax)
40d77f:	c7 80 a0 06 00 00 ff 	movl   $0xffffffff,0x6a0(%eax)
40d786:	ff ff ff
40d789:	89 90 a4 06 00 00    	mov    %edx,0x6a4(%eax)
40d78f:	89 90 a8 06 00 00    	mov    %edx,0x6a8(%eax)
40d795:	89 90 ac 06 00 00    	mov    %edx,0x6ac(%eax)
40d79b:	89 90 d0 06 00 00    	mov    %edx,0x6d0(%eax)
40d7a1:	89 90 d4 06 00 00    	mov    %edx,0x6d4(%eax)
40d7a7:	89 90 d8 06 00 00    	mov    %edx,0x6d8(%eax)
40d7ad:	89 90 dc 06 00 00    	mov    %edx,0x6dc(%eax)
40d7b3:	89 90 e0 06 00 00    	mov    %edx,0x6e0(%eax)
40d7b9:	89 90 b0 06 00 00    	mov    %edx,0x6b0(%eax)
40d7bf:	89 90 b4 06 00 00    	mov    %edx,0x6b4(%eax)
40d7c5:	89 90 b8 06 00 00    	mov    %edx,0x6b8(%eax)
40d7cb:	89 90 bc 06 00 00    	mov    %edx,0x6bc(%eax)
40d7d1:	89 90 c0 06 00 00    	mov    %edx,0x6c0(%eax)