41b435:	6a 01                	push   $0x1
41b437:	50                   	push   %eax
41b438:	56                   	push   %esi
41b439:	ff 72 08             	push   0x8(%edx)
41b43c:	e8 04 4c ff ff       	call   0x410045
41b441:	8b 5d 10             	mov    0x10(%ebp),%ebx
41b444:	8b d0                	mov    %eax,%edx
41b446:	83 c4 20             	add    $0x20,%esp
41b449:	85 d2                	test   %edx,%edx
41b44b:	0f 84 c6 00 00 00    	je     0x41b517
41b451:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b455:	0f 85 bc 00 00 00    	jne    0x41b517
41b45b:	85 d2                	test   %edx,%edx
41b45d:	0f 88 b4 00 00 00    	js     0x41b517
41b463:	83 fa 05             	cmp    $0x5,%edx
41b466:	0f 87 ab 00 00 00    	ja     0x41b517
41b46c:	8d 04 3a             	lea    (%edx,%edi,1),%eax
41b46f:	3b c3                	cmp    %ebx,%eax
41b471:	0f 87 ae 00 00 00    	ja     0x41b525
41b477:	8b c6                	mov    %esi,%eax
41b479:	89 45 dc             	mov    %eax,-0x24(%ebp)
41b47c:	85 d2                	test   %edx,%edx
41b47e:	7e 1e                	jle    0x41b49e
41b480:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41b483:	8a 44 05 e8          	mov    -0x18(%ebp,%eax,1),%al
41b487:	88 04 39             	mov    %al,(%ecx,%edi,1)
41b48a:	84 c0                	test   %al,%al
41b48c:	0f 84 93 00 00 00    	je     0x41b525
41b492:	8b 45 dc             	mov    -0x24(%ebp),%eax
41b495:	40                   	inc    %eax
41b496:	47                   	inc    %edi
41b497:	89 45 dc             	mov    %eax,-0x24(%ebp)
41b49a:	3b c2                	cmp    %edx,%eax
41b49c:	7c e5                	jl     0x41b483
41b49e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b4a1:	83 c0 02             	add    $0x2,%eax
41b4a4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b4a7:	3b fb                	cmp    %ebx,%edi
41b4a9:	0f 82 6e ff ff ff    	jb     0x41b41d
41b4af:	eb 74                	jmp    0x41b525
41b4b1:	e8 1d 38 ff ff       	call   0x40ecd3
41b4b6:	83 ce ff             	or     $0xffffffff,%esi
41b4b9:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41b4bf:	eb 2d                	jmp    0x41b4ee
41b4c1:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
41b4c7:	75 29                	jne    0x41b4f2
41b4c9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41b4cc:	0f b7 01             	movzwl (%ecx),%eax
41b4cf:	66 85 c0             	test   %ax,%ax
41b4d2:	74 1a                	je     0x41b4ee
41b4d4:	8b f8                	mov    %eax,%edi
41b4d6:	ba ff 00 00 00       	mov    $0xff,%edx
41b4db:	66 3b fa             	cmp    %dx,%di
41b4de:	77 37                	ja     0x41b517
41b4e0:	83 c1 02             	add    $0x2,%ecx
41b4e3:	46                   	inc    %esi
41b4e4:	0f b7 01             	movzwl (%ecx),%eax
41b4e7:	8b f8                	mov    %eax,%edi
41b4e9:	66 85 c0             	test   %ax,%ax
41b4ec:	75 ed                	jne    0x41b4db
41b4ee:	8b fe                	mov    %esi,%edi
41b4f0:	eb 33                	jmp    0x41b525
41b4f2:	8d 45 e0             	lea    -0x20(%ebp),%eax
41b4f5:	50                   	push   %eax
41b4f6:	56                   	push   %esi
41b4f7:	56                   	push   %esi
41b4f8:	56                   	push   %esi
41b4f9:	6a ff                	push   $0xffffffff
41b4fb:	ff 75 e4             	push   -0x1c(%ebp)
41b4fe:	56                   	push   %esi
41b4ff:	51                   	push   %ecx
41b500:	e8 40 4b ff ff       	call   0x410045
41b505:	83 c4 20             	add    $0x20,%esp
41b508:	85 c0                	test   %eax,%eax
41b50a:	74 0b                	je     0x41b517
41b50c:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b510:	75 05                	jne    0x41b517
41b512:	8d 78 ff             	lea    -0x1(%eax),%edi
41b515:	eb 0e                	jmp    0x41b525
41b517:	e8 b7 37 ff ff       	call   0x40ecd3
41b51c:	83 cf ff             	or     $0xffffffff,%edi
41b51f:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41b525:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41b529:	74 0a                	je     0x41b535
41b52b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
41b52e:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41b535:	8b c7                	mov    %edi,%eax
41b537:	e8 2b dc ff ff       	call   0x419167
41b53c:	c3                   	ret
41b53d:	8b ff                	mov    %edi,%edi
41b53f:	55                   	push   %ebp
41b540:	8b ec                	mov    %esp,%ebp
41b542:	51                   	push   %ecx
41b543:	56                   	push   %esi
41b544:	8b 75 0c             	mov    0xc(%ebp),%esi
41b547:	33 c0                	xor    %eax,%eax
41b549:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b54c:	57                   	push   %edi
41b54d:	8b 7d 10             	mov    0x10(%ebp),%edi
41b550:	85 f6                	test   %esi,%esi
41b552:	74 2e                	je     0x41b582
41b554:	85 ff                	test   %edi,%edi
41b556:	74 2e                	je     0x41b586
41b558:	85 f6                	test   %esi,%esi
41b55a:	74 02                	je     0x41b55e
41b55c:	88 06                	mov    %al,(%esi)
41b55e:	53                   	push   %ebx
41b55f:	8b 5d 08             	mov    0x8(%ebp),%ebx
41b562:	85 db                	test   %ebx,%ebx
41b564:	74 02                	je     0x41b568
41b566:	89 03                	mov    %eax,(%ebx)
41b568:	8b c7                	mov    %edi,%eax
41b56a:	39 7d 18             	cmp    %edi,0x18(%ebp)
41b56d:	77 03                	ja     0x41b572
41b56f:	8b 45 18             	mov    0x18(%ebp),%eax
41b572:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41b577:	76 20                	jbe    0x41b599
41b579:	e8 55 37 ff ff       	call   0x40ecd3
41b57e:	6a 16                	push   $0x16
41b580:	eb 55                	jmp    0x41b5d7
41b582:	85 ff                	test   %edi,%edi
41b584:	74 d2                	je     0x41b558
41b586:	e8 48 37 ff ff       	call   0x40ecd3
41b58b:	6a 16                	push   $0x16
41b58d:	5e                   	pop    %esi
41b58e:	89 30                	mov    %esi,(%eax)
41b590:	e8 81 36 ff ff       	call   0x40ec16
41b595:	8b c6                	mov    %esi,%eax
41b597:	eb 67                	jmp    0x41b600
41b599:	ff 75 1c             	push   0x1c(%ebp)
41b59c:	50                   	push   %eax
41b59d:	ff 75 14             	push   0x14(%ebp)
41b5a0:	56                   	push   %esi
41b5a1:	e8 f8 fc ff ff       	call   0x41b29e
41b5a6:	83 c4 10             	add    $0x10,%esp
41b5a9:	83 f8 ff             	cmp    $0xffffffff,%eax
41b5ac:	75 10                	jne    0x41b5be
41b5ae:	85 f6                	test   %esi,%esi
41b5b0:	74 03                	je     0x41b5b5
41b5b2:	c6 06 00             	movb   $0x0,(%esi)
41b5b5:	e8 19 37 ff ff       	call   0x40ecd3
41b5ba:	8b 00                	mov    (%eax),%eax
41b5bc:	eb 41                	jmp    0x41b5ff
41b5be:	40                   	inc    %eax
41b5bf:	85 f6                	test   %esi,%esi
41b5c1:	74 31                	je     0x41b5f4
41b5c3:	3b c7                	cmp    %edi,%eax
41b5c5:	76 23                	jbe    0x41b5ea
41b5c7:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
41b5cb:	74 16                	je     0x41b5e3
41b5cd:	c6 06 00             	movb   $0x0,(%esi)
41b5d0:	e8 fe 36 ff ff       	call   0x40ecd3
41b5d5:	6a 22                	push   $0x22
41b5d7:	5e                   	pop    %esi
41b5d8:	89 30                	mov    %esi,(%eax)
41b5da:	e8 37 36 ff ff       	call   0x40ec16
41b5df:	8b c6                	mov    %esi,%eax
41b5e1:	eb 1c                	jmp    0x41b5ff
41b5e3:	6a 50                	push   $0x50
41b5e5:	8b c7                	mov    %edi,%eax
41b5e7:	59                   	pop    %ecx
41b5e8:	eb 03                	jmp    0x41b5ed
41b5ea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b5ed:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
41b5f2:	eb 03                	jmp    0x41b5f7
41b5f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b5f7:	85 db                	test   %ebx,%ebx
41b5f9:	74 02                	je     0x41b5fd
41b5fb:	89 03                	mov    %eax,(%ebx)
41b5fd:	8b c1                	mov    %ecx,%eax
41b5ff:	5b                   	pop    %ebx
41b600:	5f                   	pop    %edi
41b601:	5e                   	pop    %esi
41b602:	c9                   	leave
41b603:	c3                   	ret
41b604:	8b ff                	mov    %edi,%edi
41b606:	55                   	push   %ebp
41b607:	8b ec                	mov    %esp,%ebp
41b609:	6a 00                	push   $0x0
41b60b:	ff 75 18             	push   0x18(%ebp)
41b60e:	ff 75 14             	push   0x14(%ebp)
41b611:	ff 75 10             	push   0x10(%ebp)
41b614:	ff 75 0c             	push   0xc(%ebp)
41b617:	ff 75 08             	push   0x8(%ebp)
41b61a:	e8 1e ff ff ff       	call   0x41b53d
41b61f:	83 c4 18             	add    $0x18,%esp
41b622:	5d                   	pop    %ebp
41b623:	c3                   	ret
41b624:	cc                   	int3
41b625:	cc                   	int3
41b626:	cc                   	int3
41b627:	cc                   	int3
41b628:	cc                   	int3
41b629:	cc                   	int3
41b62a:	cc                   	int3
41b62b:	cc                   	int3
41b62c:	cc                   	int3
41b62d:	cc                   	int3
41b62e:	cc                   	int3
41b62f:	cc                   	int3
41b630:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41b634:	f7 c1 03 00 00 00    	test   $0x3,%ecx
41b63a:	74 24                	je     0x41b660
41b63c:	8a 01                	mov    (%ecx),%al
41b63e:	83 c1 01             	add    $0x1,%ecx
41b641:	84 c0                	test   %al,%al
41b643:	74 4e                	je     0x41b693
41b645:	f7 c1 03 00 00 00    	test   $0x3,%ecx
41b64b:	75 ef                	jne    0x41b63c
41b64d:	05 00 00 00 00       	add    $0x0,%eax
41b652:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41b659:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41b660:	8b 01                	mov    (%ecx),%eax
41b662:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
41b667:	03 d0                	add    %eax,%edx
41b669:	83 f0 ff             	xor    $0xffffffff,%eax
41b66c:	33 c2                	xor    %edx,%eax
41b66e:	83 c1 04             	add    $0x4,%ecx
41b671:	a9 00 01 01 81       	test   $0x81010100,%eax
41b676:	74 e8                	je     0x41b660
41b678:	8b 41 fc             	mov    -0x4(%ecx),%eax
41b67b:	84 c0                	test   %al,%al
41b67d:	74 32                	je     0x41b6b1
41b67f:	84 e4                	test   %ah,%ah
41b681:	74 24                	je     0x41b6a7
41b683:	a9 00 00 ff 00       	test   $0xff0000,%eax
41b688:	74 13                	je     0x41b69d
41b68a:	a9 00 00 00 ff       	test   $0xff000000,%eax
41b68f:	74 02                	je     0x41b693
41b691:	eb cd                	jmp    0x41b660
41b693:	8d 41 ff             	lea    -0x1(%ecx),%eax
41b696:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41b69a:	2b c1                	sub    %ecx,%eax
41b69c:	c3                   	ret
41b69d:	8d 41 fe             	lea    -0x2(%ecx),%eax
41b6a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41b6a4:	2b c1                	sub    %ecx,%eax
41b6a6:	c3                   	ret
41b6a7:	8d 41 fd             	lea    -0x3(%ecx),%eax
41b6aa:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41b6ae:	2b c1                	sub    %ecx,%eax
41b6b0:	c3                   	ret
41b6b1:	8d 41 fc             	lea    -0x4(%ecx),%eax
41b6b4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41b6b8:	2b c1                	sub    %ecx,%eax
41b6ba:	c3                   	ret
41b6bb:	8b ff                	mov    %edi,%edi
41b6bd:	55                   	push   %ebp
41b6be:	8b ec                	mov    %esp,%ebp
41b6c0:	83 ec 20             	sub    $0x20,%esp
41b6c3:	a1 18 60 42 00       	mov    0x426018,%eax
41b6c8:	33 c5                	xor    %ebp,%eax
41b6ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b6cd:	8b 45 0c             	mov    0xc(%ebp),%eax
41b6d0:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b6d3:	89 4d e0             	mov    %ecx,-0x20(%ebp)
41b6d6:	89 45 e8             	mov    %eax,-0x18(%ebp)
41b6d9:	53                   	push   %ebx
41b6da:	8b 5d 14             	mov    0x14(%ebp),%ebx
41b6dd:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41b6e0:	56                   	push   %esi
41b6e1:	57                   	push   %edi
41b6e2:	8b 38                	mov    (%eax),%edi
41b6e4:	85 c9                	test   %ecx,%ecx
41b6e6:	0f 84 8f 00 00 00    	je     0x41b77b
41b6ec:	8b 45 10             	mov    0x10(%ebp),%eax
41b6ef:	8b f1                	mov    %ecx,%esi
41b6f1:	89 7d f0             	mov    %edi,-0x10(%ebp)
41b6f4:	83 f8 04             	cmp    $0x4,%eax
41b6f7:	73 08                	jae    0x41b701
41b6f9:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41b6fc:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41b6ff:	eb 05                	jmp    0x41b706
41b701:	8b ce                	mov    %esi,%ecx
41b703:	89 75 ec             	mov    %esi,-0x14(%ebp)
41b706:	0f b7 07             	movzwl (%edi),%eax
41b709:	53                   	push   %ebx
41b70a:	50                   	push   %eax
41b70b:	51                   	push   %ecx
41b70c:	e8 a8 00 00 00       	call   0x41b7b9
41b711:	8b d8                	mov    %eax,%ebx
41b713:	83 c4 0c             	add    $0xc,%esp
41b716:	83 fb ff             	cmp    $0xffffffff,%ebx
41b719:	74 53                	je     0x41b76e
41b71b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41b71e:	3b c6                	cmp    %esi,%eax
41b720:	74 10                	je     0x41b732
41b722:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41b725:	72 31                	jb     0x41b758
41b727:	53                   	push   %ebx
41b728:	50                   	push   %eax
41b729:	56                   	push   %esi
41b72a:	e8 a1 e4 fe ff       	call   0x409bd0
41b72f:	83 c4 0c             	add    $0xc,%esp
41b732:	85 db                	test   %ebx,%ebx
41b734:	74 09                	je     0x41b73f
41b736:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
41b739:	80 79 ff 00          	cmpb   $0x0,-0x1(%ecx)
41b73d:	74 1e                	je     0x41b75d
41b73f:	83 c7 02             	add    $0x2,%edi
41b742:	85 db                	test   %ebx,%ebx
41b744:	74 03                	je     0x41b749
41b746:	89 7d f0             	mov    %edi,-0x10(%ebp)
41b749:	8b 45 10             	mov    0x10(%ebp),%eax
41b74c:	2b c3                	sub    %ebx,%eax
41b74e:	03 f3                	add    %ebx,%esi
41b750:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
41b753:	89 45 10             	mov    %eax,0x10(%ebp)
41b756:	eb 9c                	jmp    0x41b6f4
41b758:	8b 45 f0             	mov    -0x10(%ebp),%eax
41b75b:	eb 05                	jmp    0x41b762
41b75d:	33 c0                	xor    %eax,%eax
41b75f:	8d 71 ff             	lea    -0x1(%ecx),%esi
41b762:	8b 55 e8             	mov    -0x18(%ebp),%edx
41b765:	2b 75 e0             	sub    -0x20(%ebp),%esi
41b768:	89 02                	mov    %eax,(%edx)
41b76a:	8b c6                	mov    %esi,%eax
41b76c:	eb 3c                	jmp    0x41b7aa
41b76e:	8b 55 e8             	mov    -0x18(%ebp),%edx
41b771:	83 c8 ff             	or     $0xffffffff,%eax
41b774:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41b777:	89 0a                	mov    %ecx,(%edx)
41b779:	eb 2f                	jmp    0x41b7aa
41b77b:	33 f6                	xor    %esi,%esi
41b77d:	eb 10                	jmp    0x41b78f
41b77f:	85 c0                	test   %eax,%eax
41b781:	74 07                	je     0x41b78a
41b783:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
41b788:	74 1d                	je     0x41b7a7
41b78a:	03 f0                	add    %eax,%esi
41b78c:	83 c7 02             	add    $0x2,%edi
41b78f:	0f b7 07             	movzwl (%edi),%eax
41b792:	53                   	push   %ebx
41b793:	50                   	push   %eax
41b794:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b797:	50                   	push   %eax
41b798:	e8 1c 00 00 00       	call   0x41b7b9
41b79d:	83 c4 0c             	add    $0xc,%esp
41b7a0:	83 f8 ff             	cmp    $0xffffffff,%eax
41b7a3:	75 da                	jne    0x41b77f
41b7a5:	eb 03                	jmp    0x41b7aa
41b7a7:	48                   	dec    %eax
41b7a8:	03 c6                	add    %esi,%eax
41b7aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b7ad:	5f                   	pop    %edi
41b7ae:	5e                   	pop    %esi
41b7af:	33 cd                	xor    %ebp,%ecx
41b7b1:	5b                   	pop    %ebx
41b7b2:	e8 3e d4 fe ff       	call   0x408bf5
41b7b7:	c9                   	leave