40c34f:	8d 51 02             	lea    0x2(%ecx),%edx
40c352:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
40c359:	00 00 00
40c35c:	0f 1f 40 00          	nopl   0x0(%eax)
40c360:	66 8b 01             	mov    (%ecx),%ax
40c363:	83 c1 02             	add    $0x2,%ecx
40c366:	66 85 c0             	test   %ax,%ax
40c369:	75 f5                	jne    0x40c360
40c36b:	2b ca                	sub    %edx,%ecx
40c36d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c373:	d1 f9                	sar    $1,%ecx
40c375:	51                   	push   %ecx
40c376:	50                   	push   %eax
40c377:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40c37d:	e8 7e 6c ff ff       	call   0x403000
40c382:	8b ce                	mov    %esi,%ecx
40c384:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c38b:	c7 85 a0 fd ff ff 00 	movl   $0x0,-0x260(%ebp)
40c392:	00 00 00
40c395:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
40c39c:	00 00 00
40c39f:	c7 85 b4 fd ff ff 00 	movl   $0x0,-0x24c(%ebp)
40c3a6:	00 00 00
40c3a9:	8d 51 02             	lea    0x2(%ecx),%edx
40c3ac:	0f 1f 40 00          	nopl   0x0(%eax)
40c3b0:	66 8b 01             	mov    (%ecx),%ax
40c3b3:	83 c1 02             	add    $0x2,%ecx
40c3b6:	66 85 c0             	test   %ax,%ax
40c3b9:	75 f5                	jne    0x40c3b0
40c3bb:	2b ca                	sub    %edx,%ecx
40c3bd:	d1 f9                	sar    $1,%ecx
40c3bf:	51                   	push   %ecx
40c3c0:	56                   	push   %esi
40c3c1:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
40c3c7:	e8 34 6c ff ff       	call   0x403000
40c3cc:	8d 95 a0 fd ff ff    	lea    -0x260(%ebp),%edx
40c3d2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c3d6:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40c3dc:	e8 6f 93 00 00       	call   0x415750
40c3e1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40c3e5:	8a d8                	mov    %al,%bl
40c3e7:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
40c3ed:	83 f9 08             	cmp    $0x8,%ecx
40c3f0:	72 35                	jb     0x40c427
40c3f2:	8b 95 a0 fd ff ff    	mov    -0x260(%ebp),%edx
40c3f8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c3ff:	8b c2                	mov    %edx,%eax
40c401:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c407:	72 14                	jb     0x40c41d
40c409:	8b 50 fc             	mov    -0x4(%eax),%edx
40c40c:	83 c1 23             	add    $0x23,%ecx
40c40f:	2b c2                	sub    %edx,%eax
40c411:	83 c0 fc             	add    $0xfffffffc,%eax
40c414:	83 f8 1f             	cmp    $0x1f,%eax
40c417:	0f 87 98 00 00 00    	ja     0x40c4b5
40c41d:	51                   	push   %ecx
40c41e:	52                   	push   %edx
40c41f:	e8 94 d7 00 00       	call   0x419bb8
40c424:	83 c4 08             	add    $0x8,%esp
40c427:	84 db                	test   %bl,%bl
40c429:	74 29                	je     0x40c454
40c42b:	8d 4f 4c             	lea    0x4c(%edi),%ecx
40c42e:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40c434:	3b c8                	cmp    %eax,%ecx
40c436:	74 1a                	je     0x40c452
40c438:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40c43f:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
40c445:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40c44c:	50                   	push   %eax
40c44d:	e8 9e 6a ff ff       	call   0x402ef0
40c452:	b3 01                	mov    $0x1,%bl
40c454:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
40c45a:	83 f9 08             	cmp    $0x8,%ecx
40c45d:	72 31                	jb     0x40c490
40c45f:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
40c465:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c46c:	8b c2                	mov    %edx,%eax
40c46e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c474:	72 10                	jb     0x40c486
40c476:	8b 50 fc             	mov    -0x4(%eax),%edx
40c479:	83 c1 23             	add    $0x23,%ecx
40c47c:	2b c2                	sub    %edx,%eax
40c47e:	83 c0 fc             	add    $0xfffffffc,%eax
40c481:	83 f8 1f             	cmp    $0x1f,%eax
40c484:	77 34                	ja     0x40c4ba
40c486:	51                   	push   %ecx
40c487:	52                   	push   %edx
40c488:	e8 2b d7 00 00       	call   0x419bb8
40c48d:	83 c4 08             	add    $0x8,%esp
40c490:	8a c3                	mov    %bl,%al
40c492:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c495:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c49c:	59                   	pop    %ecx
40c49d:	5f                   	pop    %edi
40c49e:	5e                   	pop    %esi
40c49f:	5b                   	pop    %ebx
40c4a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c4a3:	33 cd                	xor    %ebp,%ecx
40c4a5:	e8 00 d7 00 00       	call   0x419baa
40c4aa:	8b e5                	mov    %ebp,%esp
40c4ac:	5d                   	pop    %ebp
40c4ad:	c2 04 00             	ret    $0x4
40c4b0:	e8 de 34 01 00       	call   0x41f993
40c4b5:	e8 d9 34 01 00       	call   0x41f993
40c4ba:	e8 d4 34 01 00       	call   0x41f993
40c4bf:	cc                   	int3
40c4c0:	55                   	push   %ebp
40c4c1:	8b ec                	mov    %esp,%ebp
40c4c3:	6a ff                	push   $0xffffffff
40c4c5:	68 cd c3 43 00       	push   $0x43c3cd
40c4ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c4d0:	50                   	push   %eax
40c4d1:	83 ec 48             	sub    $0x48,%esp
40c4d4:	a1 14 50 45 00       	mov    0x455014,%eax
40c4d9:	33 c5                	xor    %ebp,%eax
40c4db:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c4de:	53                   	push   %ebx
40c4df:	56                   	push   %esi
40c4e0:	57                   	push   %edi
40c4e1:	50                   	push   %eax
40c4e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c4e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c4eb:	8b f9                	mov    %ecx,%edi
40c4ed:	80 7f 6c 00          	cmpb   $0x0,0x6c(%edi)
40c4f1:	75 07                	jne    0x40c4fa
40c4f3:	32 c0                	xor    %al,%al
40c4f5:	e9 f6 01 00 00       	jmp    0x40c6f0
40c4fa:	8d 47 4c             	lea    0x4c(%edi),%eax
40c4fd:	50                   	push   %eax
40c4fe:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c501:	e8 ba 6d ff ff       	call   0x4032c0
40c506:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c50d:	8d 5f 34             	lea    0x34(%edi),%ebx
40c510:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
40c514:	75 16                	jne    0x40c52c
40c516:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40c51a:	8b c3                	mov    %ebx,%eax
40c51c:	72 02                	jb     0x40c520
40c51e:	8b 03                	mov    (%ebx),%eax
40c520:	50                   	push   %eax
40c521:	8b cf                	mov    %edi,%ecx
40c523:	e8 f8 fc ff ff       	call   0x40c220
40c528:	84 c0                	test   %al,%al
40c52a:	74 1e                	je     0x40c54a
40c52c:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
40c530:	8d 4f 68             	lea    0x68(%edi),%ecx
40c533:	75 1c                	jne    0x40c551
40c535:	8b 07                	mov    (%edi),%eax
40c537:	51                   	push   %ecx
40c538:	8b 30                	mov    (%eax),%esi
40c53a:	8b ce                	mov    %esi,%ecx
40c53c:	ff 15 5c e2 43 00    	call   *0x43e25c
40c542:	8b cf                	mov    %edi,%ecx
40c544:	ff d6                	call   *%esi
40c546:	84 c0                	test   %al,%al
40c548:	75 07                	jne    0x40c551
40c54a:	32 db                	xor    %bl,%bl
40c54c:	e9 67 01 00 00       	jmp    0x40c6b8
40c551:	83 bf 90 00 00 00 00 	cmpl   $0x0,0x90(%edi)
40c558:	75 1f                	jne    0x40c579
40c55a:	6a 04                	push   $0x4
40c55c:	e8 65 d6 00 00       	call   0x419bc6
40c561:	83 c4 04             	add    $0x4,%esp
40c564:	89 45 ac             	mov    %eax,-0x54(%ebp)
40c567:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c56d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c573:	89 87 90 00 00 00    	mov    %eax,0x90(%edi)
40c579:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40c57d:	72 02                	jb     0x40c581
40c57f:	8b 1b                	mov    (%ebx),%ebx
40c581:	8b cb                	mov    %ebx,%ecx
40c583:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40c58a:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40c591:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40c598:	8d 51 02             	lea    0x2(%ecx),%edx
40c59b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
40c5a0:	66 8b 01             	mov    (%ecx),%ax
40c5a3:	83 c1 02             	add    $0x2,%ecx
40c5a6:	66 85 c0             	test   %ax,%ax
40c5a9:	75 f5                	jne    0x40c5a0
40c5ab:	2b ca                	sub    %edx,%ecx
40c5ad:	d1 f9                	sar    $1,%ecx
40c5af:	51                   	push   %ecx
40c5b0:	53                   	push   %ebx
40c5b1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40c5b4:	e8 47 6a ff ff       	call   0x403000
40c5b9:	8b b7 90 00 00 00    	mov    0x90(%edi),%esi
40c5bf:	83 3e 00             	cmpl   $0x0,(%esi)
40c5c2:	75 3f                	jne    0x40c603
40c5c4:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
40c5c8:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c5cb:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
40c5cf:	50                   	push   %eax
40c5d0:	6a 00                	push   $0x0
40c5d2:	6a 00                	push   $0x0
40c5d4:	ff 15 28 e1 43 00    	call   *0x43e128
40c5da:	89 06                	mov    %eax,(%esi)
40c5dc:	85 c0                	test   %eax,%eax
40c5de:	75 23                	jne    0x40c603
40c5e0:	ff 15 6c e0 43 00    	call   *0x43e06c
40c5e6:	83 f8 05             	cmp    $0x5,%eax
40c5e9:	75 18                	jne    0x40c603
40c5eb:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
40c5ef:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c5f2:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
40c5f6:	50                   	push   %eax
40c5f7:	6a 00                	push   $0x0
40c5f9:	6a 00                	push   $0x0
40c5fb:	ff 15 34 e1 43 00    	call   *0x43e134
40c601:	89 06                	mov    %eax,(%esi)
40c603:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40c606:	83 f9 08             	cmp    $0x8,%ecx
40c609:	72 32                	jb     0x40c63d
40c60b:	8b 55 b0             	mov    -0x50(%ebp),%edx
40c60e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c615:	8b c2                	mov    %edx,%eax
40c617:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c61d:	72 14                	jb     0x40c633
40c61f:	8b 50 fc             	mov    -0x4(%eax),%edx
40c622:	83 c1 23             	add    $0x23,%ecx
40c625:	2b c2                	sub    %edx,%eax
40c627:	83 c0 fc             	add    $0xfffffffc,%eax
40c62a:	83 f8 1f             	cmp    $0x1f,%eax
40c62d:	0f 87 d9 00 00 00    	ja     0x40c70c
40c633:	51                   	push   %ecx
40c634:	52                   	push   %edx
40c635:	e8 7e d5 00 00       	call   0x419bb8
40c63a:	83 c4 08             	add    $0x8,%esp
40c63d:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c640:	50                   	push   %eax
40c641:	e8 a0 9c 01 00       	call   0x4262e6
40c646:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c649:	83 c4 04             	add    $0x4,%esp
40c64c:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40c653:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c656:	89 8f f0 00 00 00    	mov    %ecx,0xf0(%edi)
40c65c:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
40c662:	89 8f f8 00 00 00    	mov    %ecx,0xf8(%edi)
40c668:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
40c66e:	74 3b                	je     0x40c6ab
40c670:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40c676:	8b 00                	mov    (%eax),%eax
40c678:	85 c0                	test   %eax,%eax
40c67a:	74 2f                	je     0x40c6ab
40c67c:	68 d0 07 00 00       	push   $0x7d0
40c681:	50                   	push   %eax
40c682:	ff 15 2c e1 43 00    	call   *0x43e12c
40c688:	85 c0                	test   %eax,%eax
40c68a:	74 07                	je     0x40c693
40c68c:	3d 80 00 00 00       	cmp    $0x80,%eax
40c691:	75 18                	jne    0x40c6ab
40c693:	51                   	push   %ecx
40c694:	8b cf                	mov    %edi,%ecx
40c696:	e8 25 95 00 00       	call   0x415bc0
40c69b:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40c6a1:	ff 30                	push   (%eax)
40c6a3:	ff 15 30 e1 43 00    	call   *0x43e130
40c6a9:	eb 07                	jmp    0x40c6b2
40c6ab:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
40c6b2:	c6 47 6d 01          	movb   $0x1,0x6d(%edi)
40c6b6:	b3 01                	mov    $0x1,%bl
40c6b8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40c6bb:	83 f9 08             	cmp    $0x8,%ecx
40c6be:	72 2e                	jb     0x40c6ee
40c6c0:	8b 55 c8             	mov    -0x38(%ebp),%edx
40c6c3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c6ca:	8b c2                	mov    %edx,%eax
40c6cc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c6d2:	72 10                	jb     0x40c6e4
40c6d4:	8b 50 fc             	mov    -0x4(%eax),%edx
40c6d7:	83 c1 23             	add    $0x23,%ecx
40c6da:	2b c2                	sub    %edx,%eax
40c6dc:	83 c0 fc             	add    $0xfffffffc,%eax
40c6df:	83 f8 1f             	cmp    $0x1f,%eax
40c6e2:	77 2d                	ja     0x40c711
40c6e4:	51                   	push   %ecx
40c6e5:	52                   	push   %edx
40c6e6:	e8 cd d4 00 00       	call   0x419bb8
40c6eb:	83 c4 08             	add    $0x8,%esp
40c6ee:	8a c3                	mov    %bl,%al
40c6f0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c6f3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c6fa:	59                   	pop    %ecx
40c6fb:	5f                   	pop    %edi
40c6fc:	5e                   	pop    %esi
40c6fd:	5b                   	pop    %ebx
40c6fe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c701:	33 cd                	xor    %ebp,%ecx
40c703:	e8 a2 d4 00 00       	call   0x419baa
40c708:	8b e5                	mov    %ebp,%esp
40c70a:	5d                   	pop    %ebp
40c70b:	c3                   	ret
40c70c:	e8 82 32 01 00       	call   0x41f993
40c711:	e8 7d 32 01 00       	call   0x41f993
40c716:	cc                   	int3
40c717:	cc                   	int3
40c718:	cc                   	int3
40c719:	cc                   	int3
40c71a:	cc                   	int3
40c71b:	cc                   	int3
40c71c:	cc                   	int3
40c71d:	cc                   	int3
40c71e:	cc                   	int3
40c71f:	cc                   	int3
40c720:	56                   	push   %esi
40c721:	8b f1                	mov    %ecx,%esi
40c723:	8b 46 68             	mov    0x68(%esi),%eax
40c726:	85 c0                	test   %eax,%eax
40c728:	74 13                	je     0x40c73d
40c72a:	83 f8 ff             	cmp    $0xffffffff,%eax
40c72d:	74 0e                	je     0x40c73d
40c72f:	50                   	push   %eax
40c730:	ff 15 68 e0 43 00    	call   *0x43e068
40c736:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
40c73d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40c743:	85 c0                	test   %eax,%eax
40c745:	74 37                	je     0x40c77e
40c747:	8b 00                	mov    (%eax),%eax
40c749:	85 c0                	test   %eax,%eax
40c74b:	74 0c                	je     0x40c759
40c74d:	83 f8 ff             	cmp    $0xffffffff,%eax
40c750:	74 07                	je     0x40c759
40c752:	50                   	push   %eax
40c753:	ff 15 68 e0 43 00    	call   *0x43e068
40c759:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40c75f:	85 c0                	test   %eax,%eax
40c761:	74 11                	je     0x40c774
40c763:	6a 04                	push   $0x4
40c765:	50                   	push   %eax
40c766:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c76c:	e8 47 d4 00 00       	call   0x419bb8
40c771:	83 c4 08             	add    $0x8,%esp
40c774:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
40c77b:	00 00 00
40c77e:	c6 46 6d 00          	movb   $0x0,0x6d(%esi)
40c782:	b0 01                	mov    $0x1,%al
40c784:	5e                   	pop    %esi
40c785:	c3                   	ret
40c786:	cc                   	int3
40c787:	cc                   	int3
40c788:	cc                   	int3
40c789:	cc                   	int3
40c78a:	cc                   	int3
40c78b:	cc                   	int3
40c78c:	cc                   	int3
40c78d:	cc                   	int3
40c78e:	cc                   	int3
40c78f:	cc                   	int3
40c790:	55                   	push   %ebp
40c791:	8b ec                	mov    %esp,%ebp