40b47a:	ff b6 48 01 00 00    	push   0x148(%esi)
40b480:	e8 e6 6a ff ff       	call   0x401f6b
40b485:	83 c4 40             	add    $0x40,%esp
40b488:	ff b6 4c 01 00 00    	push   0x14c(%esi)
40b48e:	e8 d8 6a ff ff       	call   0x401f6b
40b493:	ff b6 50 01 00 00    	push   0x150(%esi)
40b499:	e8 cd 6a ff ff       	call   0x401f6b
40b49e:	ff b6 54 01 00 00    	push   0x154(%esi)
40b4a4:	e8 c2 6a ff ff       	call   0x401f6b
40b4a9:	ff b6 58 01 00 00    	push   0x158(%esi)
40b4af:	e8 b7 6a ff ff       	call   0x401f6b
40b4b4:	ff b6 5c 01 00 00    	push   0x15c(%esi)
40b4ba:	e8 ac 6a ff ff       	call   0x401f6b
40b4bf:	ff b6 60 01 00 00    	push   0x160(%esi)
40b4c5:	e8 a1 6a ff ff       	call   0x401f6b
40b4ca:	83 c4 18             	add    $0x18,%esp
40b4cd:	5e                   	pop    %esi
40b4ce:	5d                   	pop    %ebp
40b4cf:	c3                   	ret
40b4d0:	8b ff                	mov    %edi,%edi
40b4d2:	55                   	push   %ebp
40b4d3:	8b ec                	mov    %esp,%ebp
40b4d5:	56                   	push   %esi
40b4d6:	8b 75 08             	mov    0x8(%ebp),%esi
40b4d9:	85 f6                	test   %esi,%esi
40b4db:	74 59                	je     0x40b536
40b4dd:	8b 06                	mov    (%esi),%eax
40b4df:	3b 05 38 2e 41 00    	cmp    0x412e38,%eax
40b4e5:	74 07                	je     0x40b4ee
40b4e7:	50                   	push   %eax
40b4e8:	e8 7e 6a ff ff       	call   0x401f6b
40b4ed:	59                   	pop    %ecx
40b4ee:	8b 46 04             	mov    0x4(%esi),%eax
40b4f1:	3b 05 3c 2e 41 00    	cmp    0x412e3c,%eax
40b4f7:	74 07                	je     0x40b500
40b4f9:	50                   	push   %eax
40b4fa:	e8 6c 6a ff ff       	call   0x401f6b
40b4ff:	59                   	pop    %ecx
40b500:	8b 46 08             	mov    0x8(%esi),%eax
40b503:	3b 05 40 2e 41 00    	cmp    0x412e40,%eax
40b509:	74 07                	je     0x40b512
40b50b:	50                   	push   %eax
40b50c:	e8 5a 6a ff ff       	call   0x401f6b
40b511:	59                   	pop    %ecx
40b512:	8b 46 30             	mov    0x30(%esi),%eax
40b515:	3b 05 68 2e 41 00    	cmp    0x412e68,%eax
40b51b:	74 07                	je     0x40b524
40b51d:	50                   	push   %eax
40b51e:	e8 48 6a ff ff       	call   0x401f6b
40b523:	59                   	pop    %ecx
40b524:	8b 76 34             	mov    0x34(%esi),%esi
40b527:	3b 35 6c 2e 41 00    	cmp    0x412e6c,%esi
40b52d:	74 07                	je     0x40b536
40b52f:	56                   	push   %esi
40b530:	e8 36 6a ff ff       	call   0x401f6b
40b535:	59                   	pop    %ecx
40b536:	5e                   	pop    %esi
40b537:	5d                   	pop    %ebp
40b538:	c3                   	ret
40b539:	8b ff                	mov    %edi,%edi
40b53b:	55                   	push   %ebp
40b53c:	8b ec                	mov    %esp,%ebp
40b53e:	56                   	push   %esi
40b53f:	8b 75 08             	mov    0x8(%ebp),%esi
40b542:	85 f6                	test   %esi,%esi
40b544:	0f 84 ea 00 00 00    	je     0x40b634
40b54a:	8b 46 0c             	mov    0xc(%esi),%eax
40b54d:	3b 05 44 2e 41 00    	cmp    0x412e44,%eax
40b553:	74 07                	je     0x40b55c
40b555:	50                   	push   %eax
40b556:	e8 10 6a ff ff       	call   0x401f6b
40b55b:	59                   	pop    %ecx
40b55c:	8b 46 10             	mov    0x10(%esi),%eax
40b55f:	3b 05 48 2e 41 00    	cmp    0x412e48,%eax
40b565:	74 07                	je     0x40b56e
40b567:	50                   	push   %eax
40b568:	e8 fe 69 ff ff       	call   0x401f6b
40b56d:	59                   	pop    %ecx
40b56e:	8b 46 14             	mov    0x14(%esi),%eax
40b571:	3b 05 4c 2e 41 00    	cmp    0x412e4c,%eax
40b577:	74 07                	je     0x40b580
40b579:	50                   	push   %eax
40b57a:	e8 ec 69 ff ff       	call   0x401f6b
40b57f:	59                   	pop    %ecx
40b580:	8b 46 18             	mov    0x18(%esi),%eax
40b583:	3b 05 50 2e 41 00    	cmp    0x412e50,%eax
40b589:	74 07                	je     0x40b592
40b58b:	50                   	push   %eax
40b58c:	e8 da 69 ff ff       	call   0x401f6b
40b591:	59                   	pop    %ecx
40b592:	8b 46 1c             	mov    0x1c(%esi),%eax
40b595:	3b 05 54 2e 41 00    	cmp    0x412e54,%eax
40b59b:	74 07                	je     0x40b5a4
40b59d:	50                   	push   %eax
40b59e:	e8 c8 69 ff ff       	call   0x401f6b
40b5a3:	59                   	pop    %ecx
40b5a4:	8b 46 20             	mov    0x20(%esi),%eax
40b5a7:	3b 05 58 2e 41 00    	cmp    0x412e58,%eax
40b5ad:	74 07                	je     0x40b5b6
40b5af:	50                   	push   %eax
40b5b0:	e8 b6 69 ff ff       	call   0x401f6b
40b5b5:	59                   	pop    %ecx
40b5b6:	8b 46 24             	mov    0x24(%esi),%eax
40b5b9:	3b 05 5c 2e 41 00    	cmp    0x412e5c,%eax
40b5bf:	74 07                	je     0x40b5c8
40b5c1:	50                   	push   %eax
40b5c2:	e8 a4 69 ff ff       	call   0x401f6b
40b5c7:	59                   	pop    %ecx
40b5c8:	8b 46 38             	mov    0x38(%esi),%eax
40b5cb:	3b 05 70 2e 41 00    	cmp    0x412e70,%eax
40b5d1:	74 07                	je     0x40b5da
40b5d3:	50                   	push   %eax
40b5d4:	e8 92 69 ff ff       	call   0x401f6b
40b5d9:	59                   	pop    %ecx
40b5da:	8b 46 3c             	mov    0x3c(%esi),%eax
40b5dd:	3b 05 74 2e 41 00    	cmp    0x412e74,%eax
40b5e3:	74 07                	je     0x40b5ec
40b5e5:	50                   	push   %eax
40b5e6:	e8 80 69 ff ff       	call   0x401f6b
40b5eb:	59                   	pop    %ecx
40b5ec:	8b 46 40             	mov    0x40(%esi),%eax
40b5ef:	3b 05 78 2e 41 00    	cmp    0x412e78,%eax
40b5f5:	74 07                	je     0x40b5fe
40b5f7:	50                   	push   %eax
40b5f8:	e8 6e 69 ff ff       	call   0x401f6b
40b5fd:	59                   	pop    %ecx
40b5fe:	8b 46 44             	mov    0x44(%esi),%eax
40b601:	3b 05 7c 2e 41 00    	cmp    0x412e7c,%eax
40b607:	74 07                	je     0x40b610
40b609:	50                   	push   %eax
40b60a:	e8 5c 69 ff ff       	call   0x401f6b
40b60f:	59                   	pop    %ecx
40b610:	8b 46 48             	mov    0x48(%esi),%eax
40b613:	3b 05 80 2e 41 00    	cmp    0x412e80,%eax
40b619:	74 07                	je     0x40b622
40b61b:	50                   	push   %eax
40b61c:	e8 4a 69 ff ff       	call   0x401f6b
40b621:	59                   	pop    %ecx
40b622:	8b 76 4c             	mov    0x4c(%esi),%esi
40b625:	3b 35 84 2e 41 00    	cmp    0x412e84,%esi
40b62b:	74 07                	je     0x40b634
40b62d:	56                   	push   %esi
40b62e:	e8 38 69 ff ff       	call   0x401f6b
40b633:	59                   	pop    %ecx
40b634:	5e                   	pop    %esi
40b635:	5d                   	pop    %ebp
40b636:	c3                   	ret
40b637:	cc                   	int3
40b638:	cc                   	int3
40b639:	cc                   	int3
40b63a:	cc                   	int3
40b63b:	cc                   	int3
40b63c:	cc                   	int3
40b63d:	cc                   	int3
40b63e:	cc                   	int3
40b63f:	cc                   	int3
40b640:	55                   	push   %ebp
40b641:	8b ec                	mov    %esp,%ebp
40b643:	56                   	push   %esi
40b644:	33 c0                	xor    %eax,%eax
40b646:	50                   	push   %eax
40b647:	50                   	push   %eax
40b648:	50                   	push   %eax
40b649:	50                   	push   %eax
40b64a:	50                   	push   %eax
40b64b:	50                   	push   %eax
40b64c:	50                   	push   %eax
40b64d:	50                   	push   %eax
40b64e:	8b 55 0c             	mov    0xc(%ebp),%edx
40b651:	8d 49 00             	lea    0x0(%ecx),%ecx
40b654:	8a 02                	mov    (%edx),%al
40b656:	0a c0                	or     %al,%al
40b658:	74 09                	je     0x40b663
40b65a:	83 c2 01             	add    $0x1,%edx
40b65d:	0f ab 04 24          	bts    %eax,(%esp)
40b661:	eb f1                	jmp    0x40b654
40b663:	8b 75 08             	mov    0x8(%ebp),%esi
40b666:	83 c9 ff             	or     $0xffffffff,%ecx
40b669:	8d 49 00             	lea    0x0(%ecx),%ecx
40b66c:	83 c1 01             	add    $0x1,%ecx
40b66f:	8a 06                	mov    (%esi),%al
40b671:	0a c0                	or     %al,%al
40b673:	74 09                	je     0x40b67e
40b675:	83 c6 01             	add    $0x1,%esi
40b678:	0f a3 04 24          	bt     %eax,(%esp)
40b67c:	73 ee                	jae    0x40b66c
40b67e:	8b c1                	mov    %ecx,%eax
40b680:	83 c4 20             	add    $0x20,%esp
40b683:	5e                   	pop    %esi
40b684:	c9                   	leave
40b685:	c3                   	ret
40b686:	8b ff                	mov    %edi,%edi
40b688:	55                   	push   %ebp
40b689:	8b ec                	mov    %esp,%ebp
40b68b:	8b 55 08             	mov    0x8(%ebp),%edx
40b68e:	56                   	push   %esi
40b68f:	57                   	push   %edi
40b690:	85 d2                	test   %edx,%edx
40b692:	74 07                	je     0x40b69b
40b694:	8b 7d 0c             	mov    0xc(%ebp),%edi
40b697:	85 ff                	test   %edi,%edi
40b699:	75 13                	jne    0x40b6ae
40b69b:	e8 87 8a ff ff       	call   0x404127
40b6a0:	6a 16                	push   $0x16
40b6a2:	5e                   	pop    %esi
40b6a3:	89 30                	mov    %esi,(%eax)
40b6a5:	e8 dd 75 ff ff       	call   0x402c87
40b6aa:	8b c6                	mov    %esi,%eax
40b6ac:	eb 33                	jmp    0x40b6e1
40b6ae:	8b 45 10             	mov    0x10(%ebp),%eax
40b6b1:	85 c0                	test   %eax,%eax
40b6b3:	75 04                	jne    0x40b6b9
40b6b5:	88 02                	mov    %al,(%edx)
40b6b7:	eb e2                	jmp    0x40b69b
40b6b9:	8b f2                	mov    %edx,%esi
40b6bb:	2b f0                	sub    %eax,%esi
40b6bd:	8a 08                	mov    (%eax),%cl
40b6bf:	88 0c 06             	mov    %cl,(%esi,%eax,1)
40b6c2:	40                   	inc    %eax
40b6c3:	84 c9                	test   %cl,%cl
40b6c5:	74 03                	je     0x40b6ca
40b6c7:	4f                   	dec    %edi
40b6c8:	75 f3                	jne    0x40b6bd
40b6ca:	85 ff                	test   %edi,%edi
40b6cc:	75 11                	jne    0x40b6df
40b6ce:	c6 02 00             	movb   $0x0,(%edx)
40b6d1:	e8 51 8a ff ff       	call   0x404127
40b6d6:	6a 22                	push   $0x22
40b6d8:	59                   	pop    %ecx
40b6d9:	89 08                	mov    %ecx,(%eax)
40b6db:	8b f1                	mov    %ecx,%esi
40b6dd:	eb c6                	jmp    0x40b6a5
40b6df:	33 c0                	xor    %eax,%eax
40b6e1:	5f                   	pop    %edi
40b6e2:	5e                   	pop    %esi
40b6e3:	5d                   	pop    %ebp
40b6e4:	c3                   	ret
40b6e5:	cc                   	int3
40b6e6:	cc                   	int3
40b6e7:	cc                   	int3
40b6e8:	cc                   	int3
40b6e9:	cc                   	int3
40b6ea:	cc                   	int3
40b6eb:	cc                   	int3
40b6ec:	cc                   	int3
40b6ed:	cc                   	int3
40b6ee:	cc                   	int3
40b6ef:	cc                   	int3
40b6f0:	8b 54 24 04          	mov    0x4(%esp),%edx
40b6f4:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b6f8:	f7 c2 03 00 00 00    	test   $0x3,%edx
40b6fe:	75 3c                	jne    0x40b73c
40b700:	8b 02                	mov    (%edx),%eax
40b702:	3a 01                	cmp    (%ecx),%al
40b704:	75 2e                	jne    0x40b734
40b706:	0a c0                	or     %al,%al
40b708:	74 26                	je     0x40b730
40b70a:	3a 61 01             	cmp    0x1(%ecx),%ah
40b70d:	75 25                	jne    0x40b734
40b70f:	0a e4                	or     %ah,%ah
40b711:	74 1d                	je     0x40b730
40b713:	c1 e8 10             	shr    $0x10,%eax
40b716:	3a 41 02             	cmp    0x2(%ecx),%al
40b719:	75 19                	jne    0x40b734
40b71b:	0a c0                	or     %al,%al
40b71d:	74 11                	je     0x40b730
40b71f:	3a 61 03             	cmp    0x3(%ecx),%ah
40b722:	75 10                	jne    0x40b734
40b724:	83 c1 04             	add    $0x4,%ecx
40b727:	83 c2 04             	add    $0x4,%edx
40b72a:	0a e4                	or     %ah,%ah
40b72c:	75 d2                	jne    0x40b700
40b72e:	8b ff                	mov    %edi,%edi
40b730:	33 c0                	xor    %eax,%eax
40b732:	c3                   	ret
40b733:	90                   	nop
40b734:	1b c0                	sbb    %eax,%eax
40b736:	d1 e0                	shl    $1,%eax
40b738:	83 c0 01             	add    $0x1,%eax
40b73b:	c3                   	ret
40b73c:	f7 c2 01 00 00 00    	test   $0x1,%edx
40b742:	74 18                	je     0x40b75c
40b744:	8a 02                	mov    (%edx),%al
40b746:	83 c2 01             	add    $0x1,%edx
40b749:	3a 01                	cmp    (%ecx),%al
40b74b:	75 e7                	jne    0x40b734
40b74d:	83 c1 01             	add    $0x1,%ecx
40b750:	0a c0                	or     %al,%al
40b752:	74 dc                	je     0x40b730
40b754:	f7 c2 02 00 00 00    	test   $0x2,%edx
40b75a:	74 a4                	je     0x40b700
40b75c:	66 8b 02             	mov    (%edx),%ax
40b75f:	83 c2 02             	add    $0x2,%edx
40b762:	3a 01                	cmp    (%ecx),%al
40b764:	75 ce                	jne    0x40b734
40b766:	0a c0                	or     %al,%al
40b768:	74 c6                	je     0x40b730
40b76a:	3a 61 01             	cmp    0x1(%ecx),%ah
40b76d:	75 c5                	jne    0x40b734
40b76f:	0a e4                	or     %ah,%ah
40b771:	74 bd                	je     0x40b730
40b773:	83 c1 02             	add    $0x2,%ecx
40b776:	eb 88                	jmp    0x40b700
40b778:	cc                   	int3
40b779:	cc                   	int3
40b77a:	cc                   	int3
40b77b:	cc                   	int3
40b77c:	cc                   	int3
40b77d:	cc                   	int3
40b77e:	cc                   	int3
40b77f:	cc                   	int3
40b780:	55                   	push   %ebp
40b781:	8b ec                	mov    %esp,%ebp
40b783:	57                   	push   %edi
40b784:	56                   	push   %esi
40b785:	8b 75 0c             	mov    0xc(%ebp),%esi
40b788:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b78b:	8b 7d 08             	mov    0x8(%ebp),%edi
40b78e:	8b c1                	mov    %ecx,%eax
40b790:	8b d1                	mov    %ecx,%edx
40b792:	03 c6                	add    %esi,%eax
40b794:	3b fe                	cmp    %esi,%edi
40b796:	76 08                	jbe    0x40b7a0
40b798:	3b f8                	cmp    %eax,%edi
40b79a:	0f 82 a0 01 00 00    	jb     0x40b940
40b7a0:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40b7a6:	72 1c                	jb     0x40b7c4
40b7a8:	83 3d f8 45 41 00 00 	cmpl   $0x0,0x4145f8
40b7af:	74 13                	je     0x40b7c4
40b7b1:	57                   	push   %edi
40b7b2:	56                   	push   %esi
40b7b3:	83 e7 0f             	and    $0xf,%edi
40b7b6:	83 e6 0f             	and    $0xf,%esi
40b7b9:	3b fe                	cmp    %esi,%edi
40b7bb:	5e                   	pop    %esi
40b7bc:	5f                   	pop    %edi
40b7bd:	75 05                	jne    0x40b7c4
40b7bf:	e9 79 2c 00 00       	jmp    0x40e43d
40b7c4:	f7 c7 03 00 00 00    	test   $0x3,%edi
40b7ca:	75 14                	jne    0x40b7e0
40b7cc:	c1 e9 02             	shr    $0x2,%ecx
40b7cf:	83 e2 03             	and    $0x3,%edx
40b7d2:	83 f9 08             	cmp    $0x8,%ecx
40b7d5:	72 29                	jb     0x40b800
40b7d7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40b7d9:	ff 24 95 f0 b8 40 00 	jmp    *0x40b8f0(,%edx,4)
40b7e0:	8b c7                	mov    %edi,%eax
40b7e2:	ba 03 00 00 00       	mov    $0x3,%edx
40b7e7:	83 e9 04             	sub    $0x4,%ecx
40b7ea:	72 0c                	jb     0x40b7f8