46b909:	cc                   	int3
46b90a:	cc                   	int3
46b90b:	cc                   	int3
46b90c:	cc                   	int3
46b90d:	cc                   	int3
46b90e:	cc                   	int3
46b90f:	cc                   	int3
46b910:	55                   	push   %ebp
46b911:	8b ec                	mov    %esp,%ebp
46b913:	8b 45 14             	mov    0x14(%ebp),%eax
46b916:	85 c0                	test   %eax,%eax
46b918:	75 05                	jne    0x46b91f
46b91a:	8b 45 10             	mov    0x10(%ebp),%eax
46b91d:	5d                   	pop    %ebp
46b91e:	c3                   	ret
46b91f:	8b 4d 18             	mov    0x18(%ebp),%ecx
46b922:	85 c9                	test   %ecx,%ecx
46b924:	75 05                	jne    0x46b92b
46b926:	8b 45 08             	mov    0x8(%ebp),%eax
46b929:	5d                   	pop    %ebp
46b92a:	c3                   	ret
46b92b:	8b 55 20             	mov    0x20(%ebp),%edx
46b92e:	53                   	push   %ebx
46b92f:	56                   	push   %esi
46b930:	57                   	push   %edi
46b931:	3b c1                	cmp    %ecx,%eax
46b933:	7f 42                	jg     0x46b977
46b935:	3b c2                	cmp    %edx,%eax
46b937:	7f 3e                	jg     0x46b977
46b939:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b93c:	8b cf                	mov    %edi,%ecx
46b93e:	8b 45 08             	mov    0x8(%ebp),%eax
46b941:	2b c8                	sub    %eax,%ecx
46b943:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46b946:	51                   	push   %ecx
46b947:	50                   	push   %eax
46b948:	53                   	push   %ebx
46b949:	89 4d 14             	mov    %ecx,0x14(%ebp)
46b94c:	e8 7f 74 16 00       	call   0x5d2dd0
46b951:	8b 75 10             	mov    0x10(%ebp),%esi
46b954:	2b f7                	sub    %edi,%esi
46b956:	56                   	push   %esi
46b957:	57                   	push   %edi
46b958:	8b 7d 08             	mov    0x8(%ebp),%edi
46b95b:	57                   	push   %edi
46b95c:	e8 6f 74 16 00       	call   0x5d2dd0
46b961:	ff 75 14             	push   0x14(%ebp)
46b964:	03 f7                	add    %edi,%esi
46b966:	53                   	push   %ebx
46b967:	56                   	push   %esi
46b968:	e8 63 74 16 00       	call   0x5d2dd0
46b96d:	83 c4 24             	add    $0x24,%esp
46b970:	8b c6                	mov    %esi,%eax
46b972:	5f                   	pop    %edi
46b973:	5e                   	pop    %esi
46b974:	5b                   	pop    %ebx
46b975:	5d                   	pop    %ebp
46b976:	c3                   	ret
46b977:	3b ca                	cmp    %edx,%ecx
46b979:	7f 3e                	jg     0x46b9b9
46b97b:	8b 45 10             	mov    0x10(%ebp),%eax
46b97e:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b981:	2b c7                	sub    %edi,%eax
46b983:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46b986:	50                   	push   %eax
46b987:	57                   	push   %edi
46b988:	53                   	push   %ebx
46b989:	89 45 14             	mov    %eax,0x14(%ebp)
46b98c:	e8 3f 74 16 00       	call   0x5d2dd0
46b991:	8b 75 08             	mov    0x8(%ebp),%esi
46b994:	2b fe                	sub    %esi,%edi
46b996:	8b 45 10             	mov    0x10(%ebp),%eax
46b999:	57                   	push   %edi
46b99a:	2b c7                	sub    %edi,%eax
46b99c:	56                   	push   %esi
46b99d:	50                   	push   %eax
46b99e:	e8 2d 74 16 00       	call   0x5d2dd0
46b9a3:	8b 7d 14             	mov    0x14(%ebp),%edi
46b9a6:	57                   	push   %edi
46b9a7:	53                   	push   %ebx
46b9a8:	56                   	push   %esi
46b9a9:	e8 22 74 16 00       	call   0x5d2dd0
46b9ae:	83 c4 24             	add    $0x24,%esp
46b9b1:	8d 04 37             	lea    (%edi,%esi,1),%eax
46b9b4:	5f                   	pop    %edi
46b9b5:	5e                   	pop    %esi
46b9b6:	5b                   	pop    %ebx
46b9b7:	5d                   	pop    %ebp
46b9b8:	c3                   	ret
46b9b9:	8b 75 08             	mov    0x8(%ebp),%esi
46b9bc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b9bf:	3b f3                	cmp    %ebx,%esi
46b9c1:	75 0a                	jne    0x46b9cd
46b9c3:	8b 75 10             	mov    0x10(%ebp),%esi
46b9c6:	8b c6                	mov    %esi,%eax
46b9c8:	5f                   	pop    %edi
46b9c9:	5e                   	pop    %esi
46b9ca:	5b                   	pop    %ebx
46b9cb:	5d                   	pop    %ebp
46b9cc:	c3                   	ret
46b9cd:	8b 7d 10             	mov    0x10(%ebp),%edi
46b9d0:	3b df                	cmp    %edi,%ebx
46b9d2:	74 20                	je     0x46b9f4
46b9d4:	53                   	push   %ebx
46b9d5:	56                   	push   %esi
46b9d6:	e8 b5 54 16 00       	call   0x5d0e90
46b9db:	57                   	push   %edi
46b9dc:	53                   	push   %ebx
46b9dd:	e8 ae 54 16 00       	call   0x5d0e90
46b9e2:	57                   	push   %edi
46b9e3:	56                   	push   %esi
46b9e4:	e8 a7 54 16 00       	call   0x5d0e90
46b9e9:	2b fb                	sub    %ebx,%edi
46b9eb:	83 c4 18             	add    $0x18,%esp
46b9ee:	c1 ff 02             	sar    $0x2,%edi
46b9f1:	8d 34 be             	lea    (%esi,%edi,4),%esi
46b9f4:	5f                   	pop    %edi
46b9f5:	8b c6                	mov    %esi,%eax
46b9f7:	5e                   	pop    %esi
46b9f8:	5b                   	pop    %ebx
46b9f9:	5d                   	pop    %ebp
46b9fa:	c3                   	ret
46b9fb:	cc                   	int3
46b9fc:	cc                   	int3
46b9fd:	cc                   	int3
46b9fe:	cc                   	int3
46b9ff:	cc                   	int3
46ba00:	55                   	push   %ebp
46ba01:	8b ec                	mov    %esp,%ebp
46ba03:	8b 55 18             	mov    0x18(%ebp),%edx
46ba06:	83 ec 08             	sub    $0x8,%esp
46ba09:	53                   	push   %ebx
46ba0a:	8b 5d 10             	mov    0x10(%ebp),%ebx
46ba0d:	56                   	push   %esi
46ba0e:	8b 75 08             	mov    0x8(%ebp),%esi
46ba11:	57                   	push   %edi
46ba12:	8b 7d 14             	mov    0x14(%ebp),%edi
46ba15:	3b fa                	cmp    %edx,%edi
46ba17:	0f 8d 97 00 00 00    	jge    0x46bab4
46ba1d:	0f 1f 00             	nopl   (%eax)
46ba20:	2b d7                	sub    %edi,%edx
46ba22:	8d 0c be             	lea    (%esi,%edi,4),%ecx
46ba25:	3b d7                	cmp    %edi,%edx
46ba27:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46ba2a:	8b c7                	mov    %edi,%eax
46ba2c:	0f 4c c2             	cmovl  %edx,%eax
46ba2f:	2b d0                	sub    %eax,%edx
46ba31:	03 c7                	add    %edi,%eax
46ba33:	89 55 18             	mov    %edx,0x18(%ebp)
46ba36:	8b f9                	mov    %ecx,%edi
46ba38:	8d 04 86             	lea    (%esi,%eax,4),%eax
46ba3b:	89 45 08             	mov    %eax,0x8(%ebp)
46ba3e:	8b 45 1c             	mov    0x1c(%ebp),%eax
46ba41:	89 45 f8             	mov    %eax,-0x8(%ebp)
46ba44:	ff 36                	push   (%esi)
46ba46:	8d 43 04             	lea    0x4(%ebx),%eax
46ba49:	ff 37                	push   (%edi)
46ba4b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46ba4e:	89 45 10             	mov    %eax,0x10(%ebp)
46ba51:	e8 6a 33 00 00       	call   0x46edc0
46ba56:	84 c0                	test   %al,%al
46ba58:	74 23                	je     0x46ba7d
46ba5a:	8b 07                	mov    (%edi),%eax
46ba5c:	83 c7 04             	add    $0x4,%edi
46ba5f:	89 03                	mov    %eax,(%ebx)
46ba61:	3b 7d 08             	cmp    0x8(%ebp),%edi
46ba64:	75 23                	jne    0x46ba89
46ba66:	8b 7d fc             	mov    -0x4(%ebp),%edi
46ba69:	8b 5d 10             	mov    0x10(%ebp),%ebx
46ba6c:	2b fe                	sub    %esi,%edi
46ba6e:	57                   	push   %edi
46ba6f:	56                   	push   %esi
46ba70:	53                   	push   %ebx
46ba71:	e8 5a 73 16 00       	call   0x5d2dd0
46ba76:	83 c4 0c             	add    $0xc,%esp
46ba79:	03 df                	add    %edi,%ebx
46ba7b:	eb 26                	jmp    0x46baa3
46ba7d:	8b 06                	mov    (%esi),%eax
46ba7f:	83 c6 04             	add    $0x4,%esi
46ba82:	89 03                	mov    %eax,(%ebx)
46ba84:	3b 75 fc             	cmp    -0x4(%ebp),%esi
46ba87:	74 05                	je     0x46ba8e
46ba89:	8b 5d 10             	mov    0x10(%ebp),%ebx
46ba8c:	eb b6                	jmp    0x46ba44
46ba8e:	8b 75 08             	mov    0x8(%ebp),%esi
46ba91:	8b 5d 10             	mov    0x10(%ebp),%ebx
46ba94:	2b f7                	sub    %edi,%esi
46ba96:	56                   	push   %esi
46ba97:	57                   	push   %edi
46ba98:	53                   	push   %ebx
46ba99:	e8 32 73 16 00       	call   0x5d2dd0
46ba9e:	83 c4 0c             	add    $0xc,%esp
46baa1:	03 de                	add    %esi,%ebx
46baa3:	8b 55 18             	mov    0x18(%ebp),%edx
46baa6:	8b 7d 14             	mov    0x14(%ebp),%edi
46baa9:	8b 75 08             	mov    0x8(%ebp),%esi
46baac:	3b fa                	cmp    %edx,%edi
46baae:	0f 8c 6c ff ff ff    	jl     0x46ba20
46bab4:	8b 45 0c             	mov    0xc(%ebp),%eax
46bab7:	2b c6                	sub    %esi,%eax
46bab9:	50                   	push   %eax
46baba:	56                   	push   %esi
46babb:	53                   	push   %ebx
46babc:	e8 0f 73 16 00       	call   0x5d2dd0
46bac1:	83 c4 0c             	add    $0xc,%esp
46bac4:	5f                   	pop    %edi
46bac5:	5e                   	pop    %esi
46bac6:	5b                   	pop    %ebx
46bac7:	8b e5                	mov    %ebp,%esp
46bac9:	5d                   	pop    %ebp
46baca:	c3                   	ret
46bacb:	cc                   	int3
46bacc:	cc                   	int3
46bacd:	cc                   	int3
46bace:	cc                   	int3
46bacf:	cc                   	int3
46bad0:	55                   	push   %ebp
46bad1:	8b ec                	mov    %esp,%ebp
46bad3:	56                   	push   %esi
46bad4:	8b 75 08             	mov    0x8(%ebp),%esi
46bad7:	57                   	push   %edi
46bad8:	8b 7d 0c             	mov    0xc(%ebp),%edi
46badb:	3b f7                	cmp    %edi,%esi
46badd:	74 53                	je     0x46bb32
46badf:	83 c6 14             	add    $0x14,%esi
46bae2:	83 7e 04 09          	cmpl   $0x9,0x4(%esi)
46bae6:	75 40                	jne    0x46bb28
46bae8:	8b 0e                	mov    (%esi),%ecx
46baea:	83 f9 10             	cmp    $0x10,%ecx
46baed:	72 28                	jb     0x46bb17
46baef:	8b 46 ec             	mov    -0x14(%esi),%eax
46baf2:	41                   	inc    %ecx
46baf3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
46baf9:	72 12                	jb     0x46bb0d
46bafb:	8b 50 fc             	mov    -0x4(%eax),%edx
46bafe:	83 c1 23             	add    $0x23,%ecx
46bb01:	2b c2                	sub    %edx,%eax
46bb03:	83 c0 fc             	add    $0xfffffffc,%eax
46bb06:	83 f8 1f             	cmp    $0x1f,%eax
46bb09:	77 2b                	ja     0x46bb36
46bb0b:	8b c2                	mov    %edx,%eax
46bb0d:	51                   	push   %ecx
46bb0e:	50                   	push   %eax
46bb0f:	e8 41 57 16 00       	call   0x5d1255
46bb14:	83 c4 08             	add    $0x8,%esp
46bb17:	c7 46 fc 00 00 00 00 	movl   $0x0,-0x4(%esi)
46bb1e:	c7 06 0f 00 00 00    	movl   $0xf,(%esi)
46bb24:	c6 46 ec 00          	movb   $0x0,-0x14(%esi)
46bb28:	83 c6 20             	add    $0x20,%esi
46bb2b:	8d 46 ec             	lea    -0x14(%esi),%eax
46bb2e:	3b c7                	cmp    %edi,%eax
46bb30:	75 b0                	jne    0x46bae2
46bb32:	5f                   	pop    %edi
46bb33:	5e                   	pop    %esi
46bb34:	5d                   	pop    %ebp
46bb35:	c3                   	ret
46bb36:	e8 b5 a6 16 00       	call   0x5d61f0
46bb3b:	cc                   	int3
46bb3c:	cc                   	int3
46bb3d:	cc                   	int3
46bb3e:	cc                   	int3
46bb3f:	cc                   	int3
46bb40:	55                   	push   %ebp
46bb41:	8b ec                	mov    %esp,%ebp
46bb43:	6a ff                	push   $0xffffffff
46bb45:	68 ad 97 5f 00       	push   $0x5f97ad
46bb4a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46bb50:	50                   	push   %eax
46bb51:	83 ec 38             	sub    $0x38,%esp
46bb54:	53                   	push   %ebx
46bb55:	56                   	push   %esi
46bb56:	57                   	push   %edi
46bb57:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46bb5c:	33 c5                	xor    %ebp,%eax
46bb5e:	50                   	push   %eax
46bb5f:	8d 45 f4             	lea    -0xc(%ebp),%eax
46bb62:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46bb68:	89 65 f0             	mov    %esp,-0x10(%ebp)
46bb6b:	8b d9                	mov    %ecx,%ebx
46bb6d:	89 5d d0             	mov    %ebx,-0x30(%ebp)
46bb70:	8b 33                	mov    (%ebx),%esi
46bb72:	8b 43 04             	mov    0x4(%ebx),%eax
46bb75:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bb78:	2b c6                	sub    %esi,%eax
46bb7a:	2b ce                	sub    %esi,%ecx
46bb7c:	c1 f8 05             	sar    $0x5,%eax
46bb7f:	c1 f9 05             	sar    $0x5,%ecx
46bb82:	89 5d c8             	mov    %ebx,-0x38(%ebp)
46bb85:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46bb88:	3d ff ff ff 07       	cmp    $0x7ffffff,%eax
46bb8d:	0f 84 ae 01 00 00    	je     0x46bd41
46bb93:	8b 53 08             	mov    0x8(%ebx),%edx
46bb96:	8d 78 01             	lea    0x1(%eax),%edi
46bb99:	2b d6                	sub    %esi,%edx
46bb9b:	89 7d d8             	mov    %edi,-0x28(%ebp)
46bb9e:	c1 fa 05             	sar    $0x5,%edx
46bba1:	b8 ff ff ff 07       	mov    $0x7ffffff,%eax
46bba6:	8b f2                	mov    %edx,%esi
46bba8:	d1 ee                	shr    $1,%esi
46bbaa:	2b c6                	sub    %esi,%eax
46bbac:	3b d0                	cmp    %eax,%edx
46bbae:	0f 87 88 01 00 00    	ja     0x46bd3c
46bbb4:	8d 04 16             	lea    (%esi,%edx,1),%eax
46bbb7:	3b c7                	cmp    %edi,%eax
46bbb9:	0f 43 f8             	cmovae %eax,%edi
46bbbc:	89 7d e8             	mov    %edi,-0x18(%ebp)
46bbbf:	81 ff ff ff ff 07    	cmp    $0x7ffffff,%edi
46bbc5:	0f 87 71 01 00 00    	ja     0x46bd3c
46bbcb:	8b c7                	mov    %edi,%eax
46bbcd:	89 7d e0             	mov    %edi,-0x20(%ebp)
46bbd0:	c1 e0 05             	shl    $0x5,%eax
46bbd3:	3d 00 10 00 00       	cmp    $0x1000,%eax
46bbd8:	72 2a                	jb     0x46bc04
46bbda:	8d 48 23             	lea    0x23(%eax),%ecx
46bbdd:	3b c8                	cmp    %eax,%ecx
46bbdf:	0f 86 57 01 00 00    	jbe    0x46bd3c
46bbe5:	51                   	push   %ecx
46bbe6:	e8 3a 56 16 00       	call   0x5d1225
46bbeb:	83 c4 04             	add    $0x4,%esp
46bbee:	85 c0                	test   %eax,%eax
46bbf0:	0f 84 50 01 00 00    	je     0x46bd46
46bbf6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46bbf9:	8d 70 23             	lea    0x23(%eax),%esi
46bbfc:	83 e6 e0             	and    $0xffffffe0,%esi
46bbff:	89 46 fc             	mov    %eax,-0x4(%esi)
46bc02:	eb 25                	jmp    0x46bc29
46bc04:	85 c0                	test   %eax,%eax
46bc06:	74 19                	je     0x46bc21
46bc08:	50                   	push   %eax
46bc09:	e8 17 56 16 00       	call   0x5d1225
46bc0e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46bc11:	83 c4 04             	add    $0x4,%esp
46bc14:	8b f0                	mov    %eax,%esi
46bc16:	89 45 ec             	mov    %eax,-0x14(%ebp)
46bc19:	89 7d e8             	mov    %edi,-0x18(%ebp)
46bc1c:	89 7d e0             	mov    %edi,-0x20(%ebp)
46bc1f:	eb 0b                	jmp    0x46bc2c
46bc21:	33 f6                	xor    %esi,%esi
46bc23:	89 7d e8             	mov    %edi,-0x18(%ebp)
46bc26:	89 7d e0             	mov    %edi,-0x20(%ebp)
46bc29:	89 75 ec             	mov    %esi,-0x14(%ebp)
46bc2c:	ff 75 0c             	push   0xc(%ebp)
46bc2f:	c1 e1 05             	shl    $0x5,%ecx
46bc32:	8d 3c 31             	lea    (%ecx,%esi,1),%edi
46bc35:	89 75 cc             	mov    %esi,-0x34(%ebp)
46bc38:	8d 47 20             	lea    0x20(%edi),%eax
46bc3b:	89 7d dc             	mov    %edi,-0x24(%ebp)
46bc3e:	8b cf                	mov    %edi,%ecx
46bc40:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46bc43:	89 45 e4             	mov    %eax,-0x1c(%ebp)