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
413969:	cc                   	int3
41396a:	cc                   	int3
41396b:	cc                   	int3
41396c:	cc                   	int3
41396d:	cc                   	int3
41396e:	cc                   	int3
41396f:	cc                   	int3
413970:	8b c1                	mov    %ecx,%eax
413972:	c2 0c 00             	ret    $0xc
413975:	cc                   	int3
413976:	cc                   	int3
413977:	cc                   	int3
413978:	cc                   	int3
413979:	cc                   	int3
41397a:	cc                   	int3
41397b:	cc                   	int3
41397c:	cc                   	int3
41397d:	cc                   	int3
41397e:	cc                   	int3
41397f:	cc                   	int3
413980:	55                   	push   %ebp
413981:	8b ec                	mov    %esp,%ebp
413983:	8b 45 08             	mov    0x8(%ebp),%eax
413986:	0f 57 c0             	xorps  %xmm0,%xmm0
413989:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
41398f:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
413996:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
41399d:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
4139a4:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4139a9:	5d                   	pop    %ebp
4139aa:	c2 20 00             	ret    $0x20
4139ad:	cc                   	int3
4139ae:	cc                   	int3
4139af:	cc                   	int3
4139b0:	55                   	push   %ebp
4139b1:	8b ec                	mov    %esp,%ebp
4139b3:	8b 45 08             	mov    0x8(%ebp),%eax
4139b6:	0f 57 c0             	xorps  %xmm0,%xmm0
4139b9:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
4139bf:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
4139c6:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4139cd:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
4139d4:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4139d9:	5d                   	pop    %ebp
4139da:	c2 14 00             	ret    $0x14
4139dd:	cc                   	int3
4139de:	cc                   	int3
4139df:	cc                   	int3
4139e0:	55                   	push   %ebp
4139e1:	8b ec                	mov    %esp,%ebp
4139e3:	83 e4 f8             	and    $0xfffffff8,%esp
4139e6:	83 ec 14             	sub    $0x14,%esp
4139e9:	53                   	push   %ebx
4139ea:	8b 5d 10             	mov    0x10(%ebp),%ebx
4139ed:	8b d1                	mov    %ecx,%edx
4139ef:	89 54 24 08          	mov    %edx,0x8(%esp)
4139f3:	8b cb                	mov    %ebx,%ecx
4139f5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4139f9:	56                   	push   %esi
4139fa:	8b 75 0c             	mov    0xc(%ebp),%esi
4139fd:	8b c6                	mov    %esi,%eax
4139ff:	89 44 24 14          	mov    %eax,0x14(%esp)
413a03:	57                   	push   %edi
413a04:	85 db                	test   %ebx,%ebx
413a06:	0f 8c b9 00 00 00    	jl     0x413ac5
413a0c:	7f 08                	jg     0x413a16
413a0e:	85 f6                	test   %esi,%esi
413a10:	0f 84 af 00 00 00    	je     0x413ac5
413a16:	8b ca                	mov    %edx,%ecx
413a18:	e8 13 09 00 00       	call   0x414330
413a1d:	8b f8                	mov    %eax,%edi
413a1f:	8b c2                	mov    %edx,%eax
413a21:	89 44 24 14          	mov    %eax,0x14(%esp)
413a25:	85 c0                	test   %eax,%eax
413a27:	7c 48                	jl     0x413a71
413a29:	7f 04                	jg     0x413a2f
413a2b:	85 ff                	test   %edi,%edi
413a2d:	74 42                	je     0x413a71
413a2f:	3b d8                	cmp    %eax,%ebx
413a31:	7f 0c                	jg     0x413a3f
413a33:	7c 04                	jl     0x413a39
413a35:	3b f7                	cmp    %edi,%esi
413a37:	73 06                	jae    0x413a3f
413a39:	8b fe                	mov    %esi,%edi
413a3b:	89 5c 24 14          	mov    %ebx,0x14(%esp)
413a3f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413a43:	8d 04 3f             	lea    (%edi,%edi,1),%eax
413a46:	50                   	push   %eax
413a47:	8b 45 08             	mov    0x8(%ebp),%eax
413a4a:	50                   	push   %eax
413a4b:	8b 41 20             	mov    0x20(%ecx),%eax
413a4e:	ff 30                	push   (%eax)
413a50:	e8 cb 7b 05 00       	call   0x46b620
413a55:	8b 54 24 1c          	mov    0x1c(%esp),%edx
413a59:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
413a5c:	83 c4 0c             	add    $0xc,%esp
413a5f:	2b f7                	sub    %edi,%esi
413a61:	1b 5c 24 14          	sbb    0x14(%esp),%ebx
413a65:	8b 42 30             	mov    0x30(%edx),%eax
413a68:	29 38                	sub    %edi,(%eax)
413a6a:	8b 42 20             	mov    0x20(%edx),%eax
413a6d:	01 08                	add    %ecx,(%eax)
413a6f:	eb 37                	jmp    0x413aa8
413a71:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413a75:	8b 45 08             	mov    0x8(%ebp),%eax
413a78:	8b 09                	mov    (%ecx),%ecx
413a7a:	0f b7 00             	movzwl (%eax),%eax
413a7d:	50                   	push   %eax
413a7e:	8b 79 0c             	mov    0xc(%ecx),%edi
413a81:	8b cf                	mov    %edi,%ecx
413a83:	ff 15 d4 e2 49 00    	call   *0x49e2d4
413a89:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413a8d:	ff d7                	call   *%edi
413a8f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
413a94:	66 3b c8             	cmp    %ax,%cx
413a97:	74 24                	je     0x413abd
413a99:	8b 54 24 10          	mov    0x10(%esp),%edx
413a9d:	83 c6 ff             	add    $0xffffffff,%esi
413aa0:	b9 02 00 00 00       	mov    $0x2,%ecx
413aa5:	83 d3 ff             	adc    $0xffffffff,%ebx
413aa8:	01 4d 08             	add    %ecx,0x8(%ebp)
413aab:	85 db                	test   %ebx,%ebx
413aad:	0f 8f 63 ff ff ff    	jg     0x413a16
413ab3:	7c 08                	jl     0x413abd
413ab5:	85 f6                	test   %esi,%esi
413ab7:	0f 85 59 ff ff ff    	jne    0x413a16
413abd:	8b 44 24 18          	mov    0x18(%esp),%eax
413ac1:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
413ac5:	2b c6                	sub    %esi,%eax
413ac7:	5f                   	pop    %edi
413ac8:	1b cb                	sbb    %ebx,%ecx
413aca:	5e                   	pop    %esi
413acb:	8b d1                	mov    %ecx,%edx
413acd:	5b                   	pop    %ebx
413ace:	8b e5                	mov    %ebp,%esp
413ad0:	5d                   	pop    %ebp
413ad1:	c2 0c 00             	ret    $0xc
413ad4:	cc                   	int3
413ad5:	cc                   	int3
413ad6:	cc                   	int3
413ad7:	cc                   	int3
413ad8:	cc                   	int3
413ad9:	cc                   	int3
413ada:	cc                   	int3
413adb:	cc                   	int3
413adc:	cc                   	int3
413add:	cc                   	int3
413ade:	cc                   	int3
413adf:	cc                   	int3
413ae0:	55                   	push   %ebp
413ae1:	8b ec                	mov    %esp,%ebp
413ae3:	83 e4 f8             	and    $0xfffffff8,%esp
413ae6:	83 ec 14             	sub    $0x14,%esp
413ae9:	53                   	push   %ebx
413aea:	8b 5d 10             	mov    0x10(%ebp),%ebx
413aed:	8b d1                	mov    %ecx,%edx
413aef:	89 54 24 08          	mov    %edx,0x8(%esp)
413af3:	8b cb                	mov    %ebx,%ecx
413af5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
413af9:	56                   	push   %esi
413afa:	8b 75 0c             	mov    0xc(%ebp),%esi
413afd:	8b c6                	mov    %esi,%eax
413aff:	89 44 24 14          	mov    %eax,0x14(%esp)
413b03:	57                   	push   %edi
413b04:	85 db                	test   %ebx,%ebx
413b06:	0f 8c bf 00 00 00    	jl     0x413bcb
413b0c:	7f 08                	jg     0x413b16
413b0e:	85 f6                	test   %esi,%esi
413b10:	0f 84 b5 00 00 00    	je     0x413bcb
413b16:	8b ca                	mov    %edx,%ecx
413b18:	e8 33 08 00 00       	call   0x414350
413b1d:	8b f8                	mov    %eax,%edi
413b1f:	8b c2                	mov    %edx,%eax
413b21:	89 44 24 14          	mov    %eax,0x14(%esp)
413b25:	85 c0                	test   %eax,%eax