41b3a1:	6a 01                	push   $0x1
41b3a3:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
41b3a9:	e8 86 91 00 00       	call   0x424534
41b3ae:	83 c4 1c             	add    $0x1c,%esp
41b3b1:	85 c0                	test   %eax,%eax
41b3b3:	74 3c                	je     0x41b3f1
41b3b5:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b3bb:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
41b3c0:	66 21 8c 45 f4 fd ff 	and    %cx,-0x20c(%ebp,%eax,2)
41b3c7:	ff
41b3c8:	40                   	inc    %eax
41b3c9:	83 f8 7f             	cmp    $0x7f,%eax
41b3cc:	72 ed                	jb     0x41b3bb
41b3ce:	68 fe 00 00 00       	push   $0xfe
41b3d3:	ff 35 40 d1 43 00    	push   0x43d140
41b3d9:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41b3df:	50                   	push   %eax
41b3e0:	e8 9a 2a 01 00       	call   0x42de7f
41b3e5:	33 d2                	xor    %edx,%edx
41b3e7:	83 c4 0c             	add    $0xc,%esp
41b3ea:	85 c0                	test   %eax,%eax
41b3ec:	0f 94 c2             	sete   %dl
41b3ef:	eb 06                	jmp    0x41b3f7
41b3f1:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
41b3f7:	8b 8d 34 fd ff ff    	mov    -0x2cc(%ebp),%ecx
41b3fd:	8b c6                	mov    %esi,%eax
41b3ff:	03 c8                	add    %eax,%ecx
41b401:	89 11                	mov    %edx,(%ecx)
41b403:	8b 47 08             	mov    0x8(%edi),%eax
41b406:	89 06                	mov    %eax,(%esi)
41b408:	eb 03                	jmp    0x41b40d
41b40a:	8d 4e 04             	lea    0x4(%esi),%ecx
41b40d:	8b 01                	mov    (%ecx),%eax
41b40f:	89 47 18             	mov    %eax,0x18(%edi)
41b412:	eb 1e                	jmp    0x41b432
41b414:	83 fb 01             	cmp    $0x1,%ebx
41b417:	75 0b                	jne    0x41b424
41b419:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b41f:	89 47 10             	mov    %eax,0x10(%edi)
41b422:	eb 0e                	jmp    0x41b432
41b424:	83 fb 05             	cmp    $0x5,%ebx
41b427:	75 09                	jne    0x41b432
41b429:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b42f:	89 47 14             	mov    %eax,0x14(%edi)
41b432:	6b c3 0c             	imul   $0xc,%ebx,%eax
41b435:	57                   	push   %edi
41b436:	8b b0 38 32 43 00    	mov    0x433238(%eax),%esi
41b43c:	8b ce                	mov    %esi,%ecx
41b43e:	ff 15 68 12 43 00    	call   *0x431268
41b444:	ff d6                	call   *%esi
41b446:	59                   	pop    %ecx
41b447:	8b 8d 30 fd ff ff    	mov    -0x2d0(%ebp),%ecx
41b44d:	85 c0                	test   %eax,%eax
41b44f:	74 4a                	je     0x41b49b
41b451:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b457:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
41b45a:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
41b461:	e8 aa b7 fe ff       	call   0x406c10
41b466:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
41b46c:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
41b472:	51                   	push   %ecx
41b473:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
41b47a:	e8 91 b7 fe ff       	call   0x406c10
41b47f:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
41b485:	59                   	pop    %ecx
41b486:	59                   	pop    %ecx
41b487:	89 47 08             	mov    %eax,0x8(%edi)
41b48a:	33 c0                	xor    %eax,%eax
41b48c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b48f:	5f                   	pop    %edi
41b490:	5e                   	pop    %esi
41b491:	33 cd                	xor    %ebp,%ecx
41b493:	5b                   	pop    %ebx
41b494:	e8 0e e8 fe ff       	call   0x409ca7
41b499:	c9                   	leave
41b49a:	c3                   	ret
41b49b:	81 f9 18 d2 43 00    	cmp    $0x43d218,%ecx
41b4a1:	74 4a                	je     0x41b4ed
41b4a3:	8b f3                	mov    %ebx,%esi
41b4a5:	83 c9 ff             	or     $0xffffffff,%ecx
41b4a8:	03 f6                	add    %esi,%esi
41b4aa:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
41b4ae:	f0 0f c1 08          	lock xadd %ecx,(%eax)
41b4b2:	75 39                	jne    0x41b4ed
41b4b4:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
41b4b8:	e8 53 b7 fe ff       	call   0x406c10
41b4bd:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
41b4c1:	e8 4a b7 fe ff       	call   0x406c10
41b4c6:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
41b4cd:	e8 3e b7 fe ff       	call   0x406c10
41b4d2:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b4d8:	83 c4 0c             	add    $0xc,%esp
41b4db:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
41b4e1:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
41b4e4:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
41b4eb:	eb 06                	jmp    0x41b4f3
41b4ed:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b4f3:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
41b4f9:	03 db                	add    %ebx,%ebx
41b4fb:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
41b501:	8b 04 38             	mov    (%eax,%edi,1),%eax
41b504:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
41b508:	eb 82                	jmp    0x41b48c
41b50a:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b510:	50                   	push   %eax
41b511:	50                   	push   %eax
41b512:	50                   	push   %eax
41b513:	50                   	push   %eax
41b514:	50                   	push   %eax
41b515:	e8 01 1f ff ff       	call   0x40d41b
41b51a:	cc                   	int3
41b51b:	8b ff                	mov    %edi,%edi
41b51d:	55                   	push   %ebp
41b51e:	8b ec                	mov    %esp,%ebp
41b520:	51                   	push   %ecx
41b521:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b525:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b528:	6a 02                	push   $0x2
41b52a:	50                   	push   %eax
41b52b:	68 04 10 00 20       	push   $0x20001004
41b530:	ff 75 08             	push   0x8(%ebp)
41b533:	e8 15 30 00 00       	call   0x41e54d
41b538:	85 c0                	test   %eax,%eax
41b53a:	74 07                	je     0x41b543
41b53c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b53f:	85 c0                	test   %eax,%eax
41b541:	75 05                	jne    0x41b548
41b543:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
41b548:	c9                   	leave
41b549:	c3                   	ret
41b54a:	8b ff                	mov    %edi,%edi
41b54c:	55                   	push   %ebp
41b54d:	8b ec                	mov    %esp,%ebp
41b54f:	83 ec 44             	sub    $0x44,%esp
41b552:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41b557:	33 c5                	xor    %ebp,%eax
41b559:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b55c:	8b 45 0c             	mov    0xc(%ebp),%eax
41b55f:	53                   	push   %ebx
41b560:	56                   	push   %esi
41b561:	8b 75 08             	mov    0x8(%ebp),%esi
41b564:	33 db                	xor    %ebx,%ebx
41b566:	57                   	push   %edi
41b567:	68 ca 01 00 00       	push   $0x1ca
41b56c:	53                   	push   %ebx
41b56d:	56                   	push   %esi
41b56e:	89 75 bc             	mov    %esi,-0x44(%ebp)
41b571:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41b574:	e8 47 fe fe ff       	call   0x40b3c0
41b579:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41b57c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41b57f:	83 c4 0c             	add    $0xc,%esp
41b582:	89 4d c8             	mov    %ecx,-0x38(%ebp)
41b585:	8b fb                	mov    %ebx,%edi
41b587:	8b c3                	mov    %ebx,%eax
41b589:	89 45 c0             	mov    %eax,-0x40(%ebp)
41b58c:	83 ff 04             	cmp    $0x4,%edi
41b58f:	0f 83 7e 01 00 00    	jae    0x41b713
41b595:	83 f8 02             	cmp    $0x2,%eax
41b598:	74 14                	je     0x41b5ae
41b59a:	68 08 33 43 00       	push   $0x433308
41b59f:	52                   	push   %edx
41b5a0:	e8 36 8f 00 00       	call   0x4244db
41b5a5:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41b5a8:	59                   	pop    %ecx
41b5a9:	59                   	pop    %ecx
41b5aa:	8b c8                	mov    %eax,%ecx
41b5ac:	eb 14                	jmp    0x41b5c2
41b5ae:	8b ca                	mov    %edx,%ecx
41b5b0:	8d 71 02             	lea    0x2(%ecx),%esi
41b5b3:	66 8b 01             	mov    (%ecx),%ax
41b5b6:	83 c1 02             	add    $0x2,%ecx
41b5b9:	66 3b c3             	cmp    %bx,%ax
41b5bc:	75 f5                	jne    0x41b5b3
41b5be:	2b ce                	sub    %esi,%ecx
41b5c0:	d1 f9                	sar    $1,%ecx
41b5c2:	8b 45 c8             	mov    -0x38(%ebp),%eax
41b5c5:	47                   	inc    %edi
41b5c6:	8b 75 c8             	mov    -0x38(%ebp),%esi
41b5c9:	83 45 c8 0c          	addl   $0xc,-0x38(%ebp)
41b5cd:	89 50 fc             	mov    %edx,-0x4(%eax)
41b5d0:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
41b5d3:	89 08                	mov    %ecx,(%eax)
41b5d5:	8b 45 c0             	mov    -0x40(%ebp),%eax
41b5d8:	89 46 04             	mov    %eax,0x4(%esi)
41b5db:	0f b7 02             	movzwl (%edx),%eax
41b5de:	83 c2 02             	add    $0x2,%edx
41b5e1:	8b 75 bc             	mov    -0x44(%ebp),%esi
41b5e4:	89 55 c4             	mov    %edx,-0x3c(%ebp)
41b5e7:	2b c3                	sub    %ebx,%eax
41b5e9:	74 0f                	je     0x41b5fa
41b5eb:	83 e8 2d             	sub    $0x2d,%eax
41b5ee:	74 97                	je     0x41b587
41b5f0:	83 e8 01             	sub    $0x1,%eax
41b5f3:	74 69                	je     0x41b65e
41b5f5:	83 e8 31             	sub    $0x31,%eax
41b5f8:	74 8d                	je     0x41b587
41b5fa:	83 ef 01             	sub    $0x1,%edi
41b5fd:	0f 84 02 01 00 00    	je     0x41b705
41b603:	83 ef 01             	sub    $0x1,%edi
41b606:	0f 84 b3 00 00 00    	je     0x41b6bf
41b60c:	83 ef 01             	sub    $0x1,%edi
41b60f:	74 55                	je     0x41b666
41b611:	83 ef 01             	sub    $0x1,%edi
41b614:	0f 85 f9 00 00 00    	jne    0x41b713
41b61a:	8d 45 cc             	lea    -0x34(%ebp),%eax
41b61d:	50                   	push   %eax
41b61e:	56                   	push   %esi
41b61f:	e8 3f 01 00 00       	call   0x41b763
41b624:	59                   	pop    %ecx
41b625:	59                   	pop    %ecx
41b626:	84 c0                	test   %al,%al
41b628:	0f 84 d3 00 00 00    	je     0x41b701
41b62e:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b631:	50                   	push   %eax
41b632:	56                   	push   %esi
41b633:	e8 5b 02 00 00       	call   0x41b893
41b638:	59                   	pop    %ecx
41b639:	59                   	pop    %ecx
41b63a:	84 c0                	test   %al,%al
41b63c:	0f 84 bf 00 00 00    	je     0x41b701
41b642:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b645:	50                   	push   %eax
41b646:	56                   	push   %esi
41b647:	e8 89 01 00 00       	call   0x41b7d5
41b64c:	59                   	pop    %ecx
41b64d:	59                   	pop    %ecx
41b64e:	84 c0                	test   %al,%al
41b650:	0f 84 ab 00 00 00    	je     0x41b701
41b656:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b659:	e9 94 00 00 00       	jmp    0x41b6f2
41b65e:	6a 02                	push   $0x2
41b660:	58                   	pop    %eax
41b661:	e9 23 ff ff ff       	jmp    0x41b589
41b666:	8d 45 cc             	lea    -0x34(%ebp),%eax
41b669:	50                   	push   %eax
41b66a:	56                   	push   %esi
41b66b:	e8 f3 00 00 00       	call   0x41b763
41b670:	59                   	pop    %ecx
41b671:	59                   	pop    %ecx
41b672:	84 c0                	test   %al,%al
41b674:	0f 84 87 00 00 00    	je     0x41b701
41b67a:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b67d:	50                   	push   %eax
41b67e:	56                   	push   %esi
41b67f:	e8 0f 02 00 00       	call   0x41b893
41b684:	59                   	pop    %ecx
41b685:	59                   	pop    %ecx
41b686:	84 c0                	test   %al,%al
41b688:	74 20                	je     0x41b6aa
41b68a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b68d:	50                   	push   %eax
41b68e:	56                   	push   %esi
41b68f:	e8 41 01 00 00       	call   0x41b7d5
41b694:	59                   	pop    %ecx
41b695:	59                   	pop    %ecx
41b696:	84 c0                	test   %al,%al
41b698:	75 65                	jne    0x41b6ff
41b69a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b69d:	50                   	push   %eax
41b69e:	56                   	push   %esi
41b69f:	e8 80 00 00 00       	call   0x41b724
41b6a4:	59                   	pop    %ecx
41b6a5:	59                   	pop    %ecx
41b6a6:	84 c0                	test   %al,%al
41b6a8:	75 55                	jne    0x41b6ff
41b6aa:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b6ad:	50                   	push   %eax
41b6ae:	56                   	push   %esi
41b6af:	e8 21 01 00 00       	call   0x41b7d5
41b6b4:	59                   	pop    %ecx
41b6b5:	59                   	pop    %ecx
41b6b6:	84 c0                	test   %al,%al
41b6b8:	74 47                	je     0x41b701
41b6ba:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b6bd:	eb 33                	jmp    0x41b6f2
41b6bf:	8d 45 cc             	lea    -0x34(%ebp),%eax
41b6c2:	50                   	push   %eax
41b6c3:	56                   	push   %esi
41b6c4:	e8 9a 00 00 00       	call   0x41b763
41b6c9:	59                   	pop    %ecx
41b6ca:	59                   	pop    %ecx
41b6cb:	84 c0                	test   %al,%al
41b6cd:	74 32                	je     0x41b701
41b6cf:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b6d2:	50                   	push   %eax
41b6d3:	56                   	push   %esi
41b6d4:	e8 ba 01 00 00       	call   0x41b893
41b6d9:	59                   	pop    %ecx
41b6da:	59                   	pop    %ecx
41b6db:	84 c0                	test   %al,%al
41b6dd:	75 20                	jne    0x41b6ff
41b6df:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b6e2:	50                   	push   %eax
41b6e3:	56                   	push   %esi
41b6e4:	e8 ec 00 00 00       	call   0x41b7d5
41b6e9:	59                   	pop    %ecx
41b6ea:	59                   	pop    %ecx
41b6eb:	84 c0                	test   %al,%al
41b6ed:	75 10                	jne    0x41b6ff
41b6ef:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b6f2:	50                   	push   %eax
41b6f3:	56                   	push   %esi
41b6f4:	e8 2b 00 00 00       	call   0x41b724
41b6f9:	59                   	pop    %ecx
41b6fa:	59                   	pop    %ecx
41b6fb:	84 c0                	test   %al,%al
41b6fd:	74 02                	je     0x41b701
41b6ff:	b3 01                	mov    $0x1,%bl
41b701:	8a c3                	mov    %bl,%al
41b703:	eb 10                	jmp    0x41b715
41b705:	8d 45 cc             	lea    -0x34(%ebp),%eax
41b708:	50                   	push   %eax
41b709:	56                   	push   %esi
41b70a:	e8 54 00 00 00       	call   0x41b763
41b70f:	59                   	pop    %ecx
41b710:	59                   	pop    %ecx
41b711:	eb 02                	jmp    0x41b715
41b713:	32 c0                	xor    %al,%al
41b715:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b718:	5f                   	pop    %edi
41b719:	5e                   	pop    %esi
41b71a:	33 cd                	xor    %ebp,%ecx
41b71c:	5b                   	pop    %ebx
41b71d:	e8 85 e5 fe ff       	call   0x409ca7
41b722:	c9                   	leave
41b723:	c3                   	ret
41b724:	8b ff                	mov    %edi,%edi
41b726:	55                   	push   %ebp
41b727:	8b ec                	mov    %esp,%ebp
41b729:	8b 45 0c             	mov    0xc(%ebp),%eax
41b72c:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
41b730:	74 04                	je     0x41b736
41b732:	32 c0                	xor    %al,%al
41b734:	5d                   	pop    %ebp
41b735:	c3                   	ret
41b736:	ff 70 04             	push   0x4(%eax)
41b739:	ff 30                	push   (%eax)
41b73b:	8b 45 08             	mov    0x8(%ebp),%eax
41b73e:	05 00 01 00 00       	add    $0x100,%eax
41b743:	6a 10                	push   $0x10
41b745:	50                   	push   %eax
41b746:	e8 82 66 00 00       	call   0x421dcd
41b74b:	83 c4 10             	add    $0x10,%esp
41b74e:	85 c0                	test   %eax,%eax
41b750:	75 04                	jne    0x41b756
41b752:	b0 01                	mov    $0x1,%al
41b754:	5d                   	pop    %ebp
41b755:	c3                   	ret
41b756:	33 c0                	xor    %eax,%eax