4b3821:	74 67                	je     0x4b388a
4b3823:	33 c9                	xor    %ecx,%ecx
4b3825:	39 4e 0c             	cmp    %ecx,0xc(%esi)
4b3828:	0f 94 c1             	sete   %cl
4b382b:	89 4e 0c             	mov    %ecx,0xc(%esi)
4b382e:	5e                   	pop    %esi
4b382f:	5f                   	pop    %edi
4b3830:	c3                   	ret
4b3831:	53                   	push   %ebx
4b3832:	33 db                	xor    %ebx,%ebx
4b3834:	3b 5e 04             	cmp    0x4(%esi),%ebx
4b3837:	7d 1c                	jge    0x4b3855
4b3839:	8b 06                	mov    (%esi),%eax
4b383b:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
4b383e:	03 cf                	add    %edi,%ecx
4b3840:	3b cf                	cmp    %edi,%ecx
4b3842:	89 0c 98             	mov    %ecx,(%eax,%ebx,4)
4b3845:	1b ff                	sbb    %edi,%edi
4b3847:	43                   	inc    %ebx
4b3848:	f7 df                	neg    %edi
4b384a:	75 e8                	jne    0x4b3834
4b384c:	5b                   	pop    %ebx
4b384d:	5e                   	pop    %esi
4b384e:	b8 01 00 00 00       	mov    $0x1,%eax
4b3853:	5f                   	pop    %edi
4b3854:	c3                   	ret
4b3855:	85 ff                	test   %edi,%edi
4b3857:	74 2b                	je     0x4b3884
4b3859:	8b 46 04             	mov    0x4(%esi),%eax
4b385c:	3b d8                	cmp    %eax,%ebx
4b385e:	75 24                	jne    0x4b3884
4b3860:	40                   	inc    %eax
4b3861:	3b 46 08             	cmp    0x8(%esi),%eax
4b3864:	7f 04                	jg     0x4b386a
4b3866:	8b c6                	mov    %esi,%eax
4b3868:	eb 0a                	jmp    0x4b3874
4b386a:	50                   	push   %eax
4b386b:	56                   	push   %esi
4b386c:	e8 2f fe ff ff       	call   0x4b36a0
4b3871:	83 c4 08             	add    $0x8,%esp
4b3874:	85 c0                	test   %eax,%eax
4b3876:	75 04                	jne    0x4b387c
4b3878:	5b                   	pop    %ebx
4b3879:	5e                   	pop    %esi
4b387a:	5f                   	pop    %edi
4b387b:	c3                   	ret
4b387c:	8b 06                	mov    (%esi),%eax
4b387e:	ff 46 04             	incl   0x4(%esi)
4b3881:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
4b3884:	b8 01 00 00 00       	mov    $0x1,%eax
4b3889:	5b                   	pop    %ebx
4b388a:	5e                   	pop    %esi
4b388b:	5f                   	pop    %edi
4b388c:	c3                   	ret
4b388d:	cc                   	int3
4b388e:	cc                   	int3
4b388f:	cc                   	int3
4b3890:	b8 04 00 00 00       	mov    $0x4,%eax
4b3895:	e8 56 dc 12 00       	call   0x5e14f0
4b389a:	53                   	push   %ebx
4b389b:	55                   	push   %ebp
4b389c:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4b38a0:	33 db                	xor    %ebx,%ebx
4b38a2:	85 ed                	test   %ebp,%ebp
4b38a4:	75 07                	jne    0x4b38ad
4b38a6:	5d                   	pop    %ebp
4b38a7:	83 c8 ff             	or     $0xffffffff,%eax
4b38aa:	5b                   	pop    %ebx
4b38ab:	59                   	pop    %ecx
4b38ac:	c3                   	ret
4b38ad:	57                   	push   %edi
4b38ae:	8b 7c 24 14          	mov    0x14(%esp),%edi
4b38b2:	39 5f 04             	cmp    %ebx,0x4(%edi)
4b38b5:	75 07                	jne    0x4b38be
4b38b7:	5f                   	pop    %edi
4b38b8:	5d                   	pop    %ebp
4b38b9:	33 c0                	xor    %eax,%eax
4b38bb:	5b                   	pop    %ebx
4b38bc:	59                   	pop    %ecx
4b38bd:	c3                   	ret
4b38be:	56                   	push   %esi
4b38bf:	55                   	push   %ebp
4b38c0:	e8 1b fb ff ff       	call   0x4b33e0
4b38c5:	be 20 00 00 00       	mov    $0x20,%esi
4b38ca:	2b f0                	sub    %eax,%esi
4b38cc:	56                   	push   %esi
4b38cd:	8b ce                	mov    %esi,%ecx
4b38cf:	89 74 24 18          	mov    %esi,0x18(%esp)
4b38d3:	57                   	push   %edi
4b38d4:	57                   	push   %edi
4b38d5:	d3 e5                	shl    %cl,%ebp
4b38d7:	e8 24 0c 00 00       	call   0x4b4500
4b38dc:	83 c4 10             	add    $0x10,%esp
4b38df:	85 c0                	test   %eax,%eax
4b38e1:	75 09                	jne    0x4b38ec
4b38e3:	5e                   	pop    %esi
4b38e4:	5f                   	pop    %edi
4b38e5:	5d                   	pop    %ebp
4b38e6:	83 c8 ff             	or     $0xffffffff,%eax
4b38e9:	5b                   	pop    %ebx
4b38ea:	59                   	pop    %ecx
4b38eb:	c3                   	ret
4b38ec:	8b 57 04             	mov    0x4(%edi),%edx
4b38ef:	83 ea 01             	sub    $0x1,%edx
4b38f2:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4b38f6:	78 2f                	js     0x4b3927
4b38f8:	8b 07                	mov    (%edi),%eax
4b38fa:	55                   	push   %ebp
4b38fb:	8b 34 90             	mov    (%eax,%edx,4),%esi
4b38fe:	56                   	push   %esi
4b38ff:	53                   	push   %ebx
4b3900:	e8 3b 70 01 00       	call   0x4ca940
4b3905:	8b 54 24 28          	mov    0x28(%esp),%edx
4b3909:	8b c8                	mov    %eax,%ecx
4b390b:	0f af c5             	imul   %ebp,%eax
4b390e:	8b de                	mov    %esi,%ebx
4b3910:	83 c4 0c             	add    $0xc,%esp
4b3913:	2b d8                	sub    %eax,%ebx
4b3915:	8b 07                	mov    (%edi),%eax
4b3917:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
4b391a:	83 ea 01             	sub    $0x1,%edx
4b391d:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4b3921:	79 d5                	jns    0x4b38f8
4b3923:	8b 74 24 10          	mov    0x10(%esp),%esi
4b3927:	8b 57 04             	mov    0x4(%edi),%edx
4b392a:	85 d2                	test   %edx,%edx
4b392c:	7e 0d                	jle    0x4b393b
4b392e:	8b 07                	mov    (%edi),%eax
4b3930:	83 7c 90 fc 00       	cmpl   $0x0,-0x4(%eax,%edx,4)
4b3935:	75 04                	jne    0x4b393b
4b3937:	4a                   	dec    %edx
4b3938:	89 57 04             	mov    %edx,0x4(%edi)
4b393b:	8b ce                	mov    %esi,%ecx
4b393d:	5e                   	pop    %esi
4b393e:	5f                   	pop    %edi
4b393f:	d3 eb                	shr    %cl,%ebx
4b3941:	5d                   	pop    %ebp
4b3942:	8b c3                	mov    %ebx,%eax
4b3944:	5b                   	pop    %ebx
4b3945:	59                   	pop    %ecx
4b3946:	c3                   	ret
4b3947:	cc                   	int3
4b3948:	cc                   	int3
4b3949:	cc                   	int3
4b394a:	cc                   	int3
4b394b:	cc                   	int3
4b394c:	cc                   	int3
4b394d:	cc                   	int3
4b394e:	cc                   	int3
4b394f:	cc                   	int3
4b3950:	b8 08 00 00 00       	mov    $0x8,%eax
4b3955:	e8 96 db 12 00       	call   0x5e14f0
4b395a:	53                   	push   %ebx
4b395b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4b395f:	0f 57 c0             	xorps  %xmm0,%xmm0
4b3962:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
4b3968:	85 db                	test   %ebx,%ebx
4b396a:	75 08                	jne    0x4b3974
4b396c:	83 c8 ff             	or     $0xffffffff,%eax
4b396f:	5b                   	pop    %ebx
4b3970:	83 c4 08             	add    $0x8,%esp
4b3973:	c3                   	ret
4b3974:	8b 44 24 10          	mov    0x10(%esp),%eax
4b3978:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4b397c:	56                   	push   %esi
4b397d:	8b 70 04             	mov    0x4(%eax),%esi
4b3980:	83 ee 01             	sub    $0x1,%esi
4b3983:	78 24                	js     0x4b39a9
4b3985:	8b 00                	mov    (%eax),%eax
4b3987:	57                   	push   %edi
4b3988:	8d 3c b0             	lea    (%eax,%esi,4),%edi
4b398b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4b3990:	6a 00                	push   $0x0
4b3992:	53                   	push   %ebx
4b3993:	33 c0                	xor    %eax,%eax
4b3995:	0b 07                	or     (%edi),%eax
4b3997:	51                   	push   %ecx
4b3998:	50                   	push   %eax
4b3999:	e8 82 e5 12 00       	call   0x5e1f20
4b399e:	83 ee 01             	sub    $0x1,%esi
4b39a1:	8d 7f fc             	lea    -0x4(%edi),%edi
4b39a4:	8b c8                	mov    %eax,%ecx
4b39a6:	79 e8                	jns    0x4b3990
4b39a8:	5f                   	pop    %edi
4b39a9:	5e                   	pop    %esi
4b39aa:	8b c1                	mov    %ecx,%eax
4b39ac:	5b                   	pop    %ebx
4b39ad:	83 c4 08             	add    $0x8,%esp
4b39b0:	c3                   	ret
4b39b1:	cc                   	int3
4b39b2:	cc                   	int3
4b39b3:	cc                   	int3
4b39b4:	cc                   	int3
4b39b5:	cc                   	int3
4b39b6:	cc                   	int3
4b39b7:	cc                   	int3
4b39b8:	cc                   	int3
4b39b9:	cc                   	int3
4b39ba:	cc                   	int3
4b39bb:	cc                   	int3
4b39bc:	cc                   	int3
4b39bd:	cc                   	int3
4b39be:	cc                   	int3
4b39bf:	cc                   	int3
4b39c0:	56                   	push   %esi
4b39c1:	8b 74 24 08          	mov    0x8(%esp),%esi
4b39c5:	57                   	push   %edi
4b39c6:	8b 4e 04             	mov    0x4(%esi),%ecx
4b39c9:	85 c9                	test   %ecx,%ecx
4b39cb:	74 57                	je     0x4b3a24
4b39cd:	8b 54 24 10          	mov    0x10(%esp),%edx
4b39d1:	85 d2                	test   %edx,%edx
4b39d3:	75 12                	jne    0x4b39e7
4b39d5:	52                   	push   %edx
4b39d6:	56                   	push   %esi
4b39d7:	e8 14 fb ff ff       	call   0x4b34f0
4b39dc:	83 c4 08             	add    $0x8,%esp
4b39df:	b8 01 00 00 00       	mov    $0x1,%eax
4b39e4:	5f                   	pop    %edi
4b39e5:	5e                   	pop    %esi
4b39e6:	c3                   	ret
4b39e7:	8b 06                	mov    (%esi),%eax
4b39e9:	52                   	push   %edx
4b39ea:	51                   	push   %ecx
4b39eb:	50                   	push   %eax
4b39ec:	50                   	push   %eax
4b39ed:	e8 3e 78 01 00       	call   0x4cb230
4b39f2:	8b f8                	mov    %eax,%edi
4b39f4:	83 c4 10             	add    $0x10,%esp
4b39f7:	85 ff                	test   %edi,%edi
4b39f9:	74 29                	je     0x4b3a24
4b39fb:	8b 4e 04             	mov    0x4(%esi),%ecx
4b39fe:	41                   	inc    %ecx
4b39ff:	3b 4e 08             	cmp    0x8(%esi),%ecx
4b3a02:	7f 04                	jg     0x4b3a08
4b3a04:	8b c6                	mov    %esi,%eax
4b3a06:	eb 0a                	jmp    0x4b3a12
4b3a08:	51                   	push   %ecx
4b3a09:	56                   	push   %esi
4b3a0a:	e8 91 fc ff ff       	call   0x4b36a0
4b3a0f:	83 c4 08             	add    $0x8,%esp
4b3a12:	85 c0                	test   %eax,%eax
4b3a14:	75 03                	jne    0x4b3a19
4b3a16:	5f                   	pop    %edi
4b3a17:	5e                   	pop    %esi
4b3a18:	c3                   	ret
4b3a19:	8b 4e 04             	mov    0x4(%esi),%ecx
4b3a1c:	8b 06                	mov    (%esi),%eax
4b3a1e:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
4b3a21:	ff 46 04             	incl   0x4(%esi)
4b3a24:	5f                   	pop    %edi
4b3a25:	b8 01 00 00 00       	mov    $0x1,%eax
4b3a2a:	5e                   	pop    %esi
4b3a2b:	c3                   	ret
4b3a2c:	cc                   	int3
4b3a2d:	cc                   	int3
4b3a2e:	cc                   	int3
4b3a2f:	cc                   	int3
4b3a30:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4b3a34:	85 c9                	test   %ecx,%ecx
4b3a36:	75 04                	jne    0x4b3a3c
4b3a38:	8d 41 01             	lea    0x1(%ecx),%eax
4b3a3b:	c3                   	ret
4b3a3c:	56                   	push   %esi
4b3a3d:	8b 74 24 08          	mov    0x8(%esp),%esi
4b3a41:	57                   	push   %edi
4b3a42:	8b 46 04             	mov    0x4(%esi),%eax
4b3a45:	85 c0                	test   %eax,%eax
4b3a47:	75 20                	jne    0x4b3a69
4b3a49:	51                   	push   %ecx
4b3a4a:	56                   	push   %esi
4b3a4b:	e8 a0 fa ff ff       	call   0x4b34f0
4b3a50:	8b f8                	mov    %eax,%edi
4b3a52:	83 c4 08             	add    $0x8,%esp
4b3a55:	85 ff                	test   %edi,%edi
4b3a57:	74 0b                	je     0x4b3a64
4b3a59:	6a 01                	push   $0x1
4b3a5b:	56                   	push   %esi
4b3a5c:	e8 5f fa ff ff       	call   0x4b34c0
4b3a61:	83 c4 08             	add    $0x8,%esp
4b3a64:	8b c7                	mov    %edi,%eax
4b3a66:	5f                   	pop    %edi
4b3a67:	5e                   	pop    %esi
4b3a68:	c3                   	ret
4b3a69:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4b3a6d:	74 1b                	je     0x4b3a8a
4b3a6f:	51                   	push   %ecx
4b3a70:	56                   	push   %esi
4b3a71:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
4b3a78:	e8 63 fd ff ff       	call   0x4b37e0
4b3a7d:	83 c4 08             	add    $0x8,%esp
4b3a80:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4b3a87:	5f                   	pop    %edi
4b3a88:	5e                   	pop    %esi
4b3a89:	c3                   	ret
4b3a8a:	83 f8 01             	cmp    $0x1,%eax
4b3a8d:	75 1b                	jne    0x4b3aaa
4b3a8f:	8b 06                	mov    (%esi),%eax
4b3a91:	8b 10                	mov    (%eax),%edx
4b3a93:	3b d1                	cmp    %ecx,%edx
4b3a95:	73 13                	jae    0x4b3aaa
4b3a97:	2b ca                	sub    %edx,%ecx
4b3a99:	89 08                	mov    %ecx,(%eax)
4b3a9b:	b8 01 00 00 00       	mov    $0x1,%eax
4b3aa0:	5f                   	pop    %edi
4b3aa1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4b3aa8:	5e                   	pop    %esi
4b3aa9:	c3                   	ret
4b3aaa:	8b 06                	mov    (%esi),%eax
4b3aac:	33 d2                	xor    %edx,%edx
4b3aae:	39 08                	cmp    %ecx,(%eax)
4b3ab0:	73 1b                	jae    0x4b3acd
4b3ab2:	33 ff                	xor    %edi,%edi
4b3ab4:	8b 06                	mov    (%esi),%eax
4b3ab6:	42                   	inc    %edx
4b3ab7:	29 0c 38             	sub    %ecx,(%eax,%edi,1)
4b3aba:	b9 01 00 00 00       	mov    $0x1,%ecx
4b3abf:	8b 06                	mov    (%esi),%eax
4b3ac1:	8d 3c 95 00 00 00 00 	lea    0x0(,%edx,4),%edi
4b3ac8:	39 0c 07             	cmp    %ecx,(%edi,%eax,1)
4b3acb:	72 e7                	jb     0x4b3ab4
4b3acd:	8b 06                	mov    (%esi),%eax
4b3acf:	29 0c 90             	sub    %ecx,(%eax,%edx,4)
4b3ad2:	8b 06                	mov    (%esi),%eax
4b3ad4:	83 3c 90 00          	cmpl   $0x0,(%eax,%edx,4)
4b3ad8:	75 0b                	jne    0x4b3ae5
4b3ada:	8b 46 04             	mov    0x4(%esi),%eax
4b3add:	48                   	dec    %eax
4b3ade:	3b d0                	cmp    %eax,%edx
4b3ae0:	75 03                	jne    0x4b3ae5
4b3ae2:	89 46 04             	mov    %eax,0x4(%esi)
4b3ae5:	5f                   	pop    %edi
4b3ae6:	b8 01 00 00 00       	mov    $0x1,%eax
4b3aeb:	5e                   	pop    %esi
4b3aec:	c3                   	ret
4b3aed:	cc                   	int3
4b3aee:	cc                   	int3
4b3aef:	cc                   	int3
4b3af0:	b8 48 a3 6a 00       	mov    $0x6aa348,%eax
4b3af5:	c3                   	ret
4b3af6:	cc                   	int3
4b3af7:	cc                   	int3
4b3af8:	cc                   	int3
4b3af9:	cc                   	int3
4b3afa:	cc                   	int3
4b3afb:	cc                   	int3
4b3afc:	cc                   	int3
4b3afd:	cc                   	int3
4b3afe:	cc                   	int3
4b3aff:	cc                   	int3