41360c:	8b 33                	mov    (%ebx),%esi
41360e:	85 f6                	test   %esi,%esi
413610:	74 52                	je     0x413664
413612:	8b 4a 2c             	mov    0x2c(%edx),%ecx
413615:	8b 09                	mov    (%ecx),%ecx
413617:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
41361a:	3b f1                	cmp    %ecx,%esi
41361c:	73 0a                	jae    0x413628
41361e:	66 8b 06             	mov    (%esi),%ax
413621:	5f                   	pop    %edi
413622:	5e                   	pop    %esi
413623:	5b                   	pop    %ebx
413624:	8b e5                	mov    %ebp,%esp
413626:	5d                   	pop    %ebp
413627:	c3                   	ret
413628:	8b 42 20             	mov    0x20(%edx),%eax
41362b:	8b 00                	mov    (%eax),%eax
41362d:	85 c0                	test   %eax,%eax
41362f:	74 33                	je     0x413664
413631:	f6 42 3c 04          	testb  $0x4,0x3c(%edx)
413635:	75 2d                	jne    0x413664
413637:	8b 7a 38             	mov    0x38(%edx),%edi
41363a:	3b f8                	cmp    %eax,%edi
41363c:	0f 42 f8             	cmovb  %eax,%edi
41363f:	3b fe                	cmp    %esi,%edi
413641:	76 21                	jbe    0x413664
413643:	89 7a 38             	mov    %edi,0x38(%edx)
413646:	8b c3                	mov    %ebx,%eax
413648:	8b 0b                	mov    (%ebx),%ecx
41364a:	2b f9                	sub    %ecx,%edi
41364c:	d1 ff                	sar    $1,%edi
41364e:	89 08                	mov    %ecx,(%eax)
413650:	8b 42 2c             	mov    0x2c(%edx),%eax
413653:	89 38                	mov    %edi,(%eax)
413655:	8b 42 1c             	mov    0x1c(%edx),%eax
413658:	5f                   	pop    %edi
413659:	5e                   	pop    %esi
41365a:	5b                   	pop    %ebx
41365b:	8b 00                	mov    (%eax),%eax
41365d:	66 8b 00             	mov    (%eax),%ax
413660:	8b e5                	mov    %ebp,%esp
413662:	5d                   	pop    %ebp
413663:	c3                   	ret
413664:	5f                   	pop    %edi
413665:	5e                   	pop    %esi
413666:	b8 ff ff 00 00       	mov    $0xffff,%eax
41366b:	5b                   	pop    %ebx
41366c:	8b e5                	mov    %ebp,%esp
41366e:	5d                   	pop    %ebp
41366f:	c3                   	ret
413670:	55                   	push   %ebp
413671:	8b ec                	mov    %esp,%ebp
413673:	8b 41 1c             	mov    0x1c(%ecx),%eax
413676:	66 8b 55 08          	mov    0x8(%ebp),%dx
41367a:	53                   	push   %ebx
41367b:	56                   	push   %esi
41367c:	8b 30                	mov    (%eax),%esi
41367e:	bb ff ff 00 00       	mov    $0xffff,%ebx
413683:	57                   	push   %edi
413684:	0f b7 fa             	movzwl %dx,%edi
413687:	85 f6                	test   %esi,%esi
413689:	74 41                	je     0x4136cc
41368b:	8b 41 0c             	mov    0xc(%ecx),%eax
41368e:	3b 30                	cmp    (%eax),%esi
413690:	76 3a                	jbe    0x4136cc
413692:	66 3b da             	cmp    %dx,%bx
413695:	74 0c                	je     0x4136a3
413697:	66 3b 56 fe          	cmp    -0x2(%esi),%dx
41369b:	74 06                	je     0x4136a3
41369d:	f6 41 3c 02          	testb  $0x2,0x3c(%ecx)
4136a1:	75 29                	jne    0x4136cc
4136a3:	8b 41 2c             	mov    0x2c(%ecx),%eax
4136a6:	ff 00                	incl   (%eax)
4136a8:	8b 41 1c             	mov    0x1c(%ecx),%eax
4136ab:	83 00 fe             	addl   $0xfffffffe,(%eax)
4136ae:	66 3b da             	cmp    %dx,%bx
4136b1:	74 08                	je     0x4136bb
4136b3:	8b 41 1c             	mov    0x1c(%ecx),%eax
4136b6:	8b 00                	mov    (%eax),%eax
4136b8:	66 89 10             	mov    %dx,(%eax)
4136bb:	8b c7                	mov    %edi,%eax
4136bd:	33 c9                	xor    %ecx,%ecx
4136bf:	5f                   	pop    %edi
4136c0:	66 3b d3             	cmp    %bx,%dx
4136c3:	5e                   	pop    %esi
4136c4:	0f 44 c1             	cmove  %ecx,%eax
4136c7:	5b                   	pop    %ebx
4136c8:	5d                   	pop    %ebp
4136c9:	c2 04 00             	ret    $0x4
4136cc:	5f                   	pop    %edi
4136cd:	5e                   	pop    %esi
4136ce:	66 8b c3             	mov    %bx,%ax
4136d1:	5b                   	pop    %ebx
4136d2:	5d                   	pop    %ebp
4136d3:	c2 04 00             	ret    $0x4
4136d6:	cc                   	int3
4136d7:	cc                   	int3
4136d8:	cc                   	int3
4136d9:	cc                   	int3
4136da:	cc                   	int3
4136db:	cc                   	int3
4136dc:	cc                   	int3
4136dd:	cc                   	int3
4136de:	cc                   	int3
4136df:	cc                   	int3
4136e0:	55                   	push   %ebp
4136e1:	8b ec                	mov    %esp,%ebp
4136e3:	83 ec 0c             	sub    $0xc,%esp
4136e6:	b8 ff ff 00 00       	mov    $0xffff,%eax
4136eb:	53                   	push   %ebx
4136ec:	56                   	push   %esi
4136ed:	57                   	push   %edi
4136ee:	8b f9                	mov    %ecx,%edi
4136f0:	f6 47 3c 02          	testb  $0x2,0x3c(%edi)
4136f4:	0f 85 65 01 00 00    	jne    0x41385f
4136fa:	66 3b 45 08          	cmp    0x8(%ebp),%ax
4136fe:	75 0b                	jne    0x41370b
413700:	5f                   	pop    %edi
413701:	5e                   	pop    %esi
413702:	33 c0                	xor    %eax,%eax
413704:	5b                   	pop    %ebx
413705:	8b e5                	mov    %ebp,%esp
413707:	5d                   	pop    %ebp
413708:	c2 04 00             	ret    $0x4
41370b:	8b 47 20             	mov    0x20(%edi),%eax
41370e:	8b 57 30             	mov    0x30(%edi),%edx
413711:	8b 00                	mov    (%eax),%eax
413713:	8b 0a                	mov    (%edx),%ecx
413715:	89 45 fc             	mov    %eax,-0x4(%ebp)
413718:	8d 1c 48             	lea    (%eax,%ecx,2),%ebx
41371b:	85 c0                	test   %eax,%eax
41371d:	74 58                	je     0x413777
41371f:	3b c3                	cmp    %ebx,%eax
413721:	73 26                	jae    0x413749
413723:	66 8b 45 08          	mov    0x8(%ebp),%ax
413727:	49                   	dec    %ecx
413728:	89 0a                	mov    %ecx,(%edx)
41372a:	8b 57 20             	mov    0x20(%edi),%edx
41372d:	8b 32                	mov    (%edx),%esi
41372f:	8d 4e 02             	lea    0x2(%esi),%ecx
413732:	89 0a                	mov    %ecx,(%edx)
413734:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413737:	66 89 06             	mov    %ax,(%esi)
41373a:	83 c1 02             	add    $0x2,%ecx
41373d:	89 4f 38             	mov    %ecx,0x38(%edi)
413740:	5f                   	pop    %edi
413741:	5e                   	pop    %esi
413742:	5b                   	pop    %ebx
413743:	8b e5                	mov    %ebp,%esp
413745:	5d                   	pop    %ebp
413746:	c2 04 00             	ret    $0x4
413749:	8b 47 0c             	mov    0xc(%edi),%eax
41374c:	8b 30                	mov    (%eax),%esi
41374e:	2b de                	sub    %esi,%ebx
413750:	d1 fb                	sar    $1,%ebx
413752:	83 fb 20             	cmp    $0x20,%ebx
413755:	72 27                	jb     0x41377e
413757:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
41375d:	73 05                	jae    0x413764
41375f:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
413762:	eb 1f                	jmp    0x413783
413764:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
41376a:	0f 83 ea 00 00 00    	jae    0x41385a
413770:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
413775:	eb 0c                	jmp    0x413783
413777:	8b 47 0c             	mov    0xc(%edi),%eax
41377a:	33 db                	xor    %ebx,%ebx
41377c:	8b 30                	mov    (%eax),%esi
41377e:	b8 20 00 00 00       	mov    $0x20,%eax
413783:	50                   	push   %eax
413784:	8d 4f 40             	lea    0x40(%edi),%ecx
413787:	89 45 f8             	mov    %eax,-0x8(%ebp)
41378a:	e8 81 e9 fe ff       	call   0x402110
41378f:	89 45 f4             	mov    %eax,-0xc(%ebp)
413792:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
413795:	8b 5d f4             	mov    -0xc(%ebp),%ebx
413798:	50                   	push   %eax
413799:	56                   	push   %esi
41379a:	53                   	push   %ebx
41379b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41379e:	e8 7d 7e 05 00       	call   0x46b620
4137a3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4137a6:	83 c4 0c             	add    $0xc,%esp
4137a9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4137ac:	03 d3                	add    %ebx,%edx
4137ae:	03 c9                	add    %ecx,%ecx
4137b0:	2b ca                	sub    %edx,%ecx
4137b2:	03 cb                	add    %ebx,%ecx
4137b4:	8d 42 02             	lea    0x2(%edx),%eax
4137b7:	d1 f9                	sar    $1,%ecx
4137b9:	89 47 38             	mov    %eax,0x38(%edi)
4137bc:	8b 47 10             	mov    0x10(%edi),%eax
4137bf:	89 18                	mov    %ebx,(%eax)
4137c1:	8b 47 20             	mov    0x20(%edi),%eax
4137c4:	89 10                	mov    %edx,(%eax)
4137c6:	8b 47 30             	mov    0x30(%edi),%eax
4137c9:	89 08                	mov    %ecx,(%eax)
4137cb:	f6 47 3c 04          	testb  $0x4,0x3c(%edi)
4137cf:	74 17                	je     0x4137e8
4137d1:	8b 47 0c             	mov    0xc(%edi),%eax
4137d4:	89 18                	mov    %ebx,(%eax)
4137d6:	8b 47 1c             	mov    0x1c(%edi),%eax
4137d9:	d1 fb                	sar    $1,%ebx
4137db:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4137e1:	8b 47 2c             	mov    0x2c(%edi),%eax
4137e4:	89 18                	mov    %ebx,(%eax)
4137e6:	eb 22                	jmp    0x41380a
4137e8:	8b 47 1c             	mov    0x1c(%edi),%eax
4137eb:	8b 57 38             	mov    0x38(%edi),%edx
4137ee:	8b 00                	mov    (%eax),%eax
4137f0:	2b c6                	sub    %esi,%eax
4137f2:	d1 f8                	sar    $1,%eax
4137f4:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
4137f7:	8b 47 0c             	mov    0xc(%edi),%eax
4137fa:	2b d1                	sub    %ecx,%edx
4137fc:	d1 fa                	sar    $1,%edx
4137fe:	89 18                	mov    %ebx,(%eax)
413800:	8b 47 1c             	mov    0x1c(%edi),%eax
413803:	89 08                	mov    %ecx,(%eax)
413805:	8b 47 2c             	mov    0x2c(%edi),%eax
413808:	89 10                	mov    %edx,(%eax)
41380a:	f6 47 3c 01          	testb  $0x1,0x3c(%edi)
41380e:	74 27                	je     0x413837
413810:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413813:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
413819:	72 12                	jb     0x41382d
41381b:	8b 56 fc             	mov    -0x4(%esi),%edx
41381e:	83 c1 23             	add    $0x23,%ecx
413821:	2b f2                	sub    %edx,%esi
413823:	8d 46 fc             	lea    -0x4(%esi),%eax
413826:	83 f8 1f             	cmp    $0x1f,%eax
413829:	77 3d                	ja     0x413868
41382b:	8b f2                	mov    %edx,%esi
41382d:	51                   	push   %ecx
41382e:	56                   	push   %esi
41382f:	e8 d4 61 05 00       	call   0x469a08
413834:	83 c4 08             	add    $0x8,%esp
413837:	8b 47 30             	mov    0x30(%edi),%eax
41383a:	83 4f 3c 01          	orl    $0x1,0x3c(%edi)
41383e:	ff 08                	decl   (%eax)
413840:	8b 4f 20             	mov    0x20(%edi),%ecx
413843:	5f                   	pop    %edi
413844:	5e                   	pop    %esi
413845:	5b                   	pop    %ebx
413846:	8b 11                	mov    (%ecx),%edx
413848:	8d 42 02             	lea    0x2(%edx),%eax
41384b:	89 01                	mov    %eax,(%ecx)
41384d:	66 8b 45 08          	mov    0x8(%ebp),%ax
413851:	66 89 02             	mov    %ax,(%edx)
413854:	8b e5                	mov    %ebp,%esp
413856:	5d                   	pop    %ebp
413857:	c2 04 00             	ret    $0x4
41385a:	b8 ff ff 00 00       	mov    $0xffff,%eax
41385f:	5f                   	pop    %edi
413860:	5e                   	pop    %esi
413861:	5b                   	pop    %ebx
413862:	8b e5                	mov    %ebp,%esp
413864:	5d                   	pop    %ebp
413865:	c2 04 00             	ret    $0x4
413868:	e8 c4 5d 06 00       	call   0x479631
41386d:	cc                   	int3
41386e:	cc                   	int3
41386f:	cc                   	int3
413870:	53                   	push   %ebx
413871:	56                   	push   %esi
413872:	8b f1                	mov    %ecx,%esi
413874:	f6 46 3c 01          	testb  $0x1,0x3c(%esi)
413878:	c7 06 70 1e 4b 00    	movl   $0x4b1e70,(%esi)
41387e:	74 52                	je     0x4138d2
413880:	8b 46 20             	mov    0x20(%esi),%eax
413883:	8b 08                	mov    (%eax),%ecx
413885:	85 c9                	test   %ecx,%ecx
413887:	74 0a                	je     0x413893
413889:	8b 46 30             	mov    0x30(%esi),%eax
41388c:	8b 00                	mov    (%eax),%eax
41388e:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
413891:	eb 0d                	jmp    0x4138a0
413893:	8b 46 2c             	mov    0x2c(%esi),%eax
413896:	8b 08                	mov    (%eax),%ecx
413898:	8b 46 1c             	mov    0x1c(%esi),%eax
41389b:	8b 00                	mov    (%eax),%eax
41389d:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4138a0:	8b 46 0c             	mov    0xc(%esi),%eax
4138a3:	8b 00                	mov    (%eax),%eax
4138a5:	2b c8                	sub    %eax,%ecx
4138a7:	83 e1 fe             	and    $0xfffffffe,%ecx
4138aa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4138b0:	72 16                	jb     0x4138c8
4138b2:	8b 50 fc             	mov    -0x4(%eax),%edx
4138b5:	83 c1 23             	add    $0x23,%ecx
4138b8:	2b c2                	sub    %edx,%eax
4138ba:	83 c0 fc             	add    $0xfffffffc,%eax
4138bd:	83 f8 1f             	cmp    $0x1f,%eax
4138c0:	0f 87 9a 00 00 00    	ja     0x413960
4138c6:	8b c2                	mov    %edx,%eax
4138c8:	51                   	push   %ecx
4138c9:	50                   	push   %eax
4138ca:	e8 39 61 05 00       	call   0x469a08
4138cf:	83 c4 08             	add    $0x8,%esp
4138d2:	8b 46 0c             	mov    0xc(%esi),%eax
4138d5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4138db:	8b 46 1c             	mov    0x1c(%esi),%eax
4138de:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4138e4:	8b 46 2c             	mov    0x2c(%esi),%eax
4138e7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4138ed:	8b 46 10             	mov    0x10(%esi),%eax
4138f0:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4138f6:	8b 46 20             	mov    0x20(%esi),%eax
4138f9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4138ff:	8b 46 30             	mov    0x30(%esi),%eax
413902:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
413908:	83 66 3c fe          	andl   $0xfffffffe,0x3c(%esi)
41390c:	8b 5e 34             	mov    0x34(%esi),%ebx
41390f:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
413916:	c7 06 b0 1e 4b 00    	movl   $0x4b1eb0,(%esi)
41391c:	85 db                	test   %ebx,%ebx
41391e:	74 3d                	je     0x41395d
413920:	57                   	push   %edi
413921:	8b 7b 04             	mov    0x4(%ebx),%edi
413924:	85 ff                	test   %edi,%edi
413926:	74 29                	je     0x413951
413928:	8b 07                	mov    (%edi),%eax
41392a:	8b 70 08             	mov    0x8(%eax),%esi
41392d:	8b ce                	mov    %esi,%ecx
41392f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
413935:	8b cf                	mov    %edi,%ecx
413937:	ff d6                	call   *%esi
413939:	8b f8                	mov    %eax,%edi
41393b:	85 ff                	test   %edi,%edi
41393d:	74 12                	je     0x413951
41393f:	8b 0f                	mov    (%edi),%ecx
413941:	6a 01                	push   $0x1
413943:	8b 31                	mov    (%ecx),%esi
413945:	8b ce                	mov    %esi,%ecx
413947:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41394d:	8b cf                	mov    %edi,%ecx
41394f:	ff d6                	call   *%esi
413951:	6a 08                	push   $0x8
413953:	53                   	push   %ebx
413954:	e8 af 60 05 00       	call   0x469a08
413959:	83 c4 08             	add    $0x8,%esp
41395c:	5f                   	pop    %edi
41395d:	5e                   	pop    %esi
41395e:	5b                   	pop    %ebx
41395f:	c3                   	ret
413960:	e8 cc 5c 06 00       	call   0x479631
413965:	cc                   	int3
413966:	cc                   	int3
413967:	cc                   	int3
413968:	cc                   	int3