4508e7:	cc                   	int3
4508e8:	cc                   	int3
4508e9:	cc                   	int3
4508ea:	cc                   	int3
4508eb:	cc                   	int3
4508ec:	cc                   	int3
4508ed:	cc                   	int3
4508ee:	cc                   	int3
4508ef:	cc                   	int3
4508f0:	55                   	push   %ebp
4508f1:	8b ec                	mov    %esp,%ebp
4508f3:	8b 55 0c             	mov    0xc(%ebp),%edx
4508f6:	83 ec 08             	sub    $0x8,%esp
4508f9:	0f b6 02             	movzbl (%edx),%eax
4508fc:	53                   	push   %ebx
4508fd:	56                   	push   %esi
4508fe:	8b f1                	mov    %ecx,%esi
450900:	57                   	push   %edi
450901:	3d 80 00 00 00       	cmp    $0x80,%eax
450906:	73 03                	jae    0x45090b
450908:	42                   	inc    %edx
450909:	eb 14                	jmp    0x45091f
45090b:	50                   	push   %eax
45090c:	52                   	push   %edx
45090d:	8d 45 f8             	lea    -0x8(%ebp),%eax
450910:	50                   	push   %eax
450911:	e8 5a ef 00 00       	call   0x45f870
450916:	8b 55 f8             	mov    -0x8(%ebp),%edx
450919:	83 c4 0c             	add    $0xc,%esp
45091c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45091f:	85 d2                	test   %edx,%edx
450921:	74 56                	je     0x450979
450923:	2b 46 04             	sub    0x4(%esi),%eax
450926:	8b 5e 10             	mov    0x10(%esi),%ebx
450929:	8d 3c 10             	lea    (%eax,%edx,1),%edi
45092c:	33 c0                	xor    %eax,%eax
45092e:	85 ff                	test   %edi,%edi
450930:	89 7e 10             	mov    %edi,0x10(%esi)
450933:	0f 48 c7             	cmovs  %edi,%eax
450936:	03 46 04             	add    0x4(%esi),%eax
450939:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
45093d:	89 06                	mov    %eax,(%esi)
45093f:	78 38                	js     0x450979
450941:	8b 4d 08             	mov    0x8(%ebp),%ecx
450944:	56                   	push   %esi
450945:	52                   	push   %edx
450946:	e8 a5 7b ff ff       	call   0x4484f0
45094b:	8b d0                	mov    %eax,%edx
45094d:	85 d2                	test   %edx,%edx
45094f:	74 28                	je     0x450979
450951:	ff 46 44             	incl   0x44(%esi)
450954:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
450958:	75 1f                	jne    0x450979
45095a:	8b 46 10             	mov    0x10(%esi),%eax
45095d:	33 c9                	xor    %ecx,%ecx
45095f:	2b c7                	sub    %edi,%eax
450961:	03 c3                	add    %ebx,%eax
450963:	5f                   	pop    %edi
450964:	0f 48 c8             	cmovs  %eax,%ecx
450967:	89 46 10             	mov    %eax,0x10(%esi)
45096a:	03 4e 04             	add    0x4(%esi),%ecx
45096d:	8b c2                	mov    %edx,%eax
45096f:	89 0e                	mov    %ecx,(%esi)
450971:	5e                   	pop    %esi
450972:	5b                   	pop    %ebx
450973:	8b e5                	mov    %ebp,%esp
450975:	5d                   	pop    %ebp
450976:	c2 08 00             	ret    $0x8
450979:	5f                   	pop    %edi
45097a:	5e                   	pop    %esi
45097b:	33 c0                	xor    %eax,%eax
45097d:	5b                   	pop    %ebx
45097e:	8b e5                	mov    %ebp,%esp
450980:	5d                   	pop    %ebp
450981:	c2 08 00             	ret    $0x8
450984:	cc                   	int3
450985:	cc                   	int3
450986:	cc                   	int3
450987:	cc                   	int3
450988:	cc                   	int3
450989:	cc                   	int3
45098a:	cc                   	int3
45098b:	cc                   	int3
45098c:	cc                   	int3
45098d:	cc                   	int3
45098e:	cc                   	int3
45098f:	cc                   	int3
450990:	55                   	push   %ebp
450991:	8b ec                	mov    %esp,%ebp
450993:	83 ec 14             	sub    $0x14,%esp
450996:	53                   	push   %ebx
450997:	56                   	push   %esi
450998:	8b 75 0c             	mov    0xc(%ebp),%esi
45099b:	57                   	push   %edi
45099c:	8b f9                	mov    %ecx,%edi
45099e:	0f b6 06             	movzbl (%esi),%eax
4509a1:	3d 80 00 00 00       	cmp    $0x80,%eax
4509a6:	73 03                	jae    0x4509ab
4509a8:	46                   	inc    %esi
4509a9:	eb 14                	jmp    0x4509bf
4509ab:	50                   	push   %eax
4509ac:	8d 45 f4             	lea    -0xc(%ebp),%eax
4509af:	56                   	push   %esi
4509b0:	50                   	push   %eax
4509b1:	e8 ba ee 00 00       	call   0x45f870
4509b6:	8b 75 f4             	mov    -0xc(%ebp),%esi
4509b9:	83 c4 0c             	add    $0xc,%esp
4509bc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4509bf:	85 f6                	test   %esi,%esi
4509c1:	0f 84 a1 00 00 00    	je     0x450a68
4509c7:	2b 47 04             	sub    0x4(%edi),%eax
4509ca:	8b 5f 10             	mov    0x10(%edi),%ebx
4509cd:	8d 14 30             	lea    (%eax,%esi,1),%edx
4509d0:	33 c0                	xor    %eax,%eax
4509d2:	85 d2                	test   %edx,%edx
4509d4:	89 57 10             	mov    %edx,0x10(%edi)
4509d7:	0f 48 c2             	cmovs  %edx,%eax
4509da:	2b da                	sub    %edx,%ebx
4509dc:	03 47 04             	add    0x4(%edi),%eax
4509df:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4509e3:	89 07                	mov    %eax,(%edi)
4509e5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4509e8:	78 7e                	js     0x450a68
4509ea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4509f0:	3b 37                	cmp    (%edi),%esi
4509f2:	72 22                	jb     0x450a16
4509f4:	8b c6                	mov    %esi,%eax
4509f6:	2b 47 04             	sub    0x4(%edi),%eax
4509f9:	3b 47 10             	cmp    0x10(%edi),%eax
4509fc:	74 75                	je     0x450a73
4509fe:	ff 77 48             	push   0x48(%edi)
450a01:	8b cf                	mov    %edi,%ecx
450a03:	50                   	push   %eax
450a04:	8d 45 ec             	lea    -0x14(%ebp),%eax
450a07:	50                   	push   %eax
450a08:	e8 23 e5 00 00       	call   0x45ef30
450a0d:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
450a11:	8b 75 ec             	mov    -0x14(%ebp),%esi
450a14:	75 69                	jne    0x450a7f
450a16:	6a 00                	push   $0x0
450a18:	8d 45 0c             	lea    0xc(%ebp),%eax
450a1b:	50                   	push   %eax
450a1c:	56                   	push   %esi
450a1d:	e8 fe 0f 00 00       	call   0x451a20
450a22:	8b f0                	mov    %eax,%esi
450a24:	83 c4 0c             	add    $0xc,%esp
450a27:	85 f6                	test   %esi,%esi
450a29:	74 3d                	je     0x450a68
450a2b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
450a2e:	8b c3                	mov    %ebx,%eax
450a30:	24 07                	and    $0x7,%al
450a32:	3c 04                	cmp    $0x4,%al
450a34:	74 4f                	je     0x450a85
450a36:	85 db                	test   %ebx,%ebx
450a38:	74 4b                	je     0x450a85
450a3a:	8b 4d 08             	mov    0x8(%ebp),%ecx
450a3d:	83 c1 04             	add    $0x4,%ecx
450a40:	f6 01 01             	testb  $0x1,(%ecx)
450a43:	74 0a                	je     0x450a4f
450a45:	8b 01                	mov    (%ecx),%eax
450a47:	83 e0 fc             	and    $0xfffffffc,%eax
450a4a:	83 c0 04             	add    $0x4,%eax
450a4d:	eb 05                	jmp    0x450a54
450a4f:	e8 dc 01 00 00       	call   0x450c30
450a54:	57                   	push   %edi
450a55:	56                   	push   %esi
450a56:	50                   	push   %eax
450a57:	6a 00                	push   $0x0
450a59:	53                   	push   %ebx
450a5a:	e8 51 05 01 00       	call   0x460fb0
450a5f:	8b f0                	mov    %eax,%esi
450a61:	83 c4 14             	add    $0x14,%esp
450a64:	85 f6                	test   %esi,%esi
450a66:	75 88                	jne    0x4509f0
450a68:	5f                   	pop    %edi
450a69:	5e                   	pop    %esi
450a6a:	33 c0                	xor    %eax,%eax
450a6c:	5b                   	pop    %ebx
450a6d:	8b e5                	mov    %ebp,%esp
450a6f:	5d                   	pop    %ebp
450a70:	c2 08 00             	ret    $0x8
450a73:	85 c0                	test   %eax,%eax
450a75:	7e 08                	jle    0x450a7f
450a77:	33 c0                	xor    %eax,%eax
450a79:	39 47 08             	cmp    %eax,0x8(%edi)
450a7c:	0f 44 f0             	cmove  %eax,%esi
450a7f:	85 f6                	test   %esi,%esi
450a81:	74 e5                	je     0x450a68
450a83:	eb 06                	jmp    0x450a8b
450a85:	8d 43 ff             	lea    -0x1(%ebx),%eax
450a88:	89 47 3c             	mov    %eax,0x3c(%edi)
450a8b:	ff 47 44             	incl   0x44(%edi)
450a8e:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
450a92:	75 d4                	jne    0x450a68
450a94:	8b 47 10             	mov    0x10(%edi),%eax
450a97:	33 c9                	xor    %ecx,%ecx
450a99:	03 45 fc             	add    -0x4(%ebp),%eax
450a9c:	89 47 10             	mov    %eax,0x10(%edi)
450a9f:	0f 48 c8             	cmovs  %eax,%ecx
450aa2:	8b c6                	mov    %esi,%eax
450aa4:	03 4f 04             	add    0x4(%edi),%ecx
450aa7:	89 0f                	mov    %ecx,(%edi)
450aa9:	5f                   	pop    %edi
450aaa:	5e                   	pop    %esi
450aab:	5b                   	pop    %ebx
450aac:	8b e5                	mov    %ebp,%esp
450aae:	5d                   	pop    %ebp
450aaf:	c2 08 00             	ret    $0x8
450ab2:	cc                   	int3
450ab3:	cc                   	int3
450ab4:	cc                   	int3
450ab5:	cc                   	int3
450ab6:	cc                   	int3
450ab7:	cc                   	int3
450ab8:	cc                   	int3
450ab9:	cc                   	int3
450aba:	cc                   	int3
450abb:	cc                   	int3
450abc:	cc                   	int3
450abd:	cc                   	int3
450abe:	cc                   	int3
450abf:	cc                   	int3
450ac0:	55                   	push   %ebp
450ac1:	8b ec                	mov    %esp,%ebp
450ac3:	8b 45 08             	mov    0x8(%ebp),%eax
450ac6:	56                   	push   %esi
450ac7:	8b 75 0c             	mov    0xc(%ebp),%esi
450aca:	8d 56 01             	lea    0x1(%esi),%edx
450acd:	3d 80 00 00 00       	cmp    $0x80,%eax
450ad2:	73 07                	jae    0x450adb
450ad4:	88 06                	mov    %al,(%esi)
450ad6:	8b c2                	mov    %edx,%eax
450ad8:	5e                   	pop    %esi
450ad9:	5d                   	pop    %ebp
450ada:	c3                   	ret
450adb:	8a c8                	mov    %al,%cl
450add:	c1 e8 07             	shr    $0x7,%eax
450ae0:	80 c9 80             	or     $0x80,%cl
450ae3:	88 0e                	mov    %cl,(%esi)
450ae5:	3d 80 00 00 00       	cmp    $0x80,%eax
450aea:	73 08                	jae    0x450af4
450aec:	88 02                	mov    %al,(%edx)
450aee:	8d 46 02             	lea    0x2(%esi),%eax
450af1:	5e                   	pop    %esi
450af2:	5d                   	pop    %ebp
450af3:	c3                   	ret
450af4:	8a c8                	mov    %al,%cl
450af6:	8d 52 01             	lea    0x1(%edx),%edx
450af9:	80 c9 80             	or     $0x80,%cl
450afc:	c1 e8 07             	shr    $0x7,%eax
450aff:	88 4a ff             	mov    %cl,-0x1(%edx)
450b02:	3d 80 00 00 00       	cmp    $0x80,%eax
450b07:	73 eb                	jae    0x450af4
450b09:	88 02                	mov    %al,(%edx)
450b0b:	8d 42 01             	lea    0x1(%edx),%eax
450b0e:	5e                   	pop    %esi
450b0f:	5d                   	pop    %ebp
450b10:	c3                   	ret
450b11:	cc                   	int3
450b12:	cc                   	int3
450b13:	cc                   	int3
450b14:	cc                   	int3
450b15:	cc                   	int3
450b16:	cc                   	int3
450b17:	cc                   	int3
450b18:	cc                   	int3
450b19:	cc                   	int3
450b1a:	cc                   	int3
450b1b:	cc                   	int3
450b1c:	cc                   	int3
450b1d:	cc                   	int3
450b1e:	cc                   	int3
450b1f:	cc                   	int3
450b20:	55                   	push   %ebp
450b21:	8b ec                	mov    %esp,%ebp
450b23:	8b 55 08             	mov    0x8(%ebp),%edx
450b26:	83 ec 08             	sub    $0x8,%esp
450b29:	53                   	push   %ebx
450b2a:	0f b6 1a             	movzbl (%edx),%ebx
450b2d:	8d 42 01             	lea    0x1(%edx),%eax
450b30:	84 db                	test   %bl,%bl
450b32:	78 0a                	js     0x450b3e
450b34:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b37:	89 19                	mov    %ebx,(%ecx)
450b39:	5b                   	pop    %ebx
450b3a:	8b e5                	mov    %ebp,%esp
450b3c:	5d                   	pop    %ebp
450b3d:	c3                   	ret
450b3e:	0f b6 08             	movzbl (%eax),%ecx
450b41:	56                   	push   %esi
450b42:	8b f1                	mov    %ecx,%esi
450b44:	c1 e6 07             	shl    $0x7,%esi
450b47:	83 c6 80             	add    $0xffffff80,%esi
450b4a:	03 f3                	add    %ebx,%esi
450b4c:	84 c9                	test   %cl,%cl
450b4e:	78 0e                	js     0x450b5e
450b50:	8b 45 0c             	mov    0xc(%ebp),%eax
450b53:	89 30                	mov    %esi,(%eax)
450b55:	8d 42 02             	lea    0x2(%edx),%eax
450b58:	5e                   	pop    %esi
450b59:	5b                   	pop    %ebx
450b5a:	8b e5                	mov    %ebp,%esp
450b5c:	5d                   	pop    %ebp
450b5d:	c3                   	ret
450b5e:	56                   	push   %esi
450b5f:	52                   	push   %edx
450b60:	8d 45 f8             	lea    -0x8(%ebp),%eax
450b63:	50                   	push   %eax
450b64:	e8 f7 ee 00 00       	call   0x45fa60
450b69:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b6c:	83 c4 0c             	add    $0xc,%esp
450b6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
450b72:	5e                   	pop    %esi
450b73:	89 01                	mov    %eax,(%ecx)
450b75:	8b 45 f8             	mov    -0x8(%ebp),%eax
450b78:	5b                   	pop    %ebx
450b79:	8b e5                	mov    %ebp,%esp
450b7b:	5d                   	pop    %ebp
450b7c:	c3                   	ret
450b7d:	cc                   	int3
450b7e:	cc                   	int3
450b7f:	cc                   	int3
450b80:	55                   	push   %ebp
450b81:	8b ec                	mov    %esp,%ebp
450b83:	8b 55 08             	mov    0x8(%ebp),%edx
450b86:	83 ec 10             	sub    $0x10,%esp
450b89:	53                   	push   %ebx
450b8a:	0f b6 1a             	movzbl (%edx),%ebx
450b8d:	8d 42 01             	lea    0x1(%edx),%eax
450b90:	84 db                	test   %bl,%bl
450b92:	78 11                	js     0x450ba5
450b94:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b97:	89 19                	mov    %ebx,(%ecx)
450b99:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
450ba0:	5b                   	pop    %ebx
450ba1:	8b e5                	mov    %ebp,%esp
450ba3:	5d                   	pop    %ebp
450ba4:	c3                   	ret
450ba5:	0f b6 08             	movzbl (%eax),%ecx
450ba8:	56                   	push   %esi
450ba9:	8b f1                	mov    %ecx,%esi
450bab:	c1 e6 07             	shl    $0x7,%esi
450bae:	83 c6 80             	add    $0xffffff80,%esi
450bb1:	03 f3                	add    %ebx,%esi
450bb3:	84 c9                	test   %cl,%cl
450bb5:	78 15                	js     0x450bcc
450bb7:	8b 45 0c             	mov    0xc(%ebp),%eax
450bba:	89 30                	mov    %esi,(%eax)
450bbc:	5e                   	pop    %esi
450bbd:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)